理解响应式网站?

理解响应式网站?

什么是响应式网站?

如果在任何设备上打开响应式网站,每个网页都能正确显示内容,不会被其他网页覆盖或溢出。例如,在任何尺寸的设备上打开 TutorialsPoint.com 网站,用户可以看到网页的内容保持相同,但替换的内容不同,以便内容易于阅读。

因此,响应式网站的基本原则是使内容在任何设备上都可见且时尚。

为什么需要响应式网站?

现在,问题是为什么我们需要响应式网站。答案在这里。

早期,用户只能从台式机访问网站,但如今,用户使用不同尺寸的设备(如移动设备和平板电脑)访问网站。事实上,多数网站的访问量来自于移动设备而非台式机。

如今,每个企业都在互联网上运营并试图通过网站在线获取客户。如果用户从移动设备访问您的网站,但您的网站不是响应式的,用户将立即关闭您的网站并转向竞争对手的网站。

因此,响应式网站可用于获得更多客户和访问者。

如何开始创建响应式网站?

我们需要使用常见的浏览器大小断点,并相应地设计 HTML 元素的样式。以下是常见的断点。

移动设备:360 x 640 像素
平板电脑:768 x 1024 像素
笔记本电脑:1366 x 768 像素
高清台式机:1920 x 1080 像素

首先,我们必须在< head >部分中添加以下元标记。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

现在,我们的 HTML 内容对于网页来说将保持相同,但我们需要以一种在任何设备上都易于阅读的方式编写 CSS

示例一(将元素尺寸设置为百分比)

在下面的示例中,我们有一个包含两个“col” div 元素的“container” div 元素。我们已将容器 div 元素和“col” div 元素的尺寸设置为百分比。

在输出时,用户可以观察到在任何尺寸的设备上都可以阅读。

<html>
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <style>
      .container {
         width: 100%;
         height: 100px;
         background-color: #f1f1f1;
         display: flex;
         flex-direction: row;
      }
      .col {
         width: 47%;
         margin: auto 1%;
         height: 100%;
         background-color: #4CAF50;
         color: white;
         text-align: center;
         line-height: 100px;
         font-size: 10px;
      }
   </style>
</head>
<body>
   <h2>通过将 HTML 元素尺寸设置为百分比来创建响应式网站</h2>
   <div class="container">
      <div class="col">
         Column 1
      </div>
      <div class="col">
         Column 2
      </div>
   </div>
</body>
</html>

示例二(使用媒体查询)

在下面的示例中,我们使用媒体查询创建了具有响应式设计的网页。使用媒体查询,我们可以为每个设备单独添加断点并为其样式不同的网页。

在此处,用户可以观察到我们已经为宽度少于600px的设备改变了“main” div的尺寸。同时,我们通过媒体查询改变了移动设备的字体大小、字体颜色和边距。

<html>
<head>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <style>
      .main {
         width: 50%;
         height: 50vh;
         display: flex;
         align-items: center;
         text-align: center;
         margin: 10px auto;
         flex-direction: column;
      }
      img {
         width: 100%;
         height: 100%;
      }
      .description {
         width: 100%;
         height: 100%;
         font-size: 30px;
         color: red;
         margin-top: 20px;
      }
      /* writing the above css code for table and mobile devices using media query */
      @media screen and (max-width: 600px) {
         .main {
            width: 100%;
            height: 100vh;
            margin: 5px auto;
         }
         .description {
            font-size: 20px;
            color: blue;
            margin-top: 10px;
         }
      }
   </style>
</head>
<body>
   <h2> 使用CSS中的媒体查询创建响应式网站 </h2>
   <div class = "main">
      <img src = "https://yt3.googleusercontent.com/H_Xbai9qfD-0DWSLfOuwMa4dieJHcz-tJa18UaoUf6C7TerPWvcuhatFAudCfGVJ-dszbWDnhA=s900-c-k-c0x00ffffff-no-rj"
      alt = "logo">
      <div class = "description">
         上面是TutorialPoints的标志。标志具有响应性,将显示在屏幕中央。
      </div>
   </div>
</body>
</html>

示例三(使用clamp()函数)

在下面的示例中,我们使用clamp()函数使我们的网页具有响应性。 clamp()函数需要三个参数,第一个是最小宽度,第二个是百分比,第三个是最大宽度。

在这里,我们将400px作为clamp()函数的第一个参数,30%作为第二个参数,将600px作为第三个参数。这意味着在任何设备上,卡片的宽度都不会低于400px,也不会高于600px。如果屏幕宽度的30%在400px到600px之间,该值将被设置为卡片的宽度。

在输出中,用户可以观察到不同设备上的卡片,并检查它们是否具有响应性。

<html>
<head>
   <meta name = "viewport" content = "width=device-width, initial-scale = 1.0">
   <style>
      .card {
         height: 400px;
         width: clamp(400px, 30%, 600px);
         background-color: rgb(13, 247, 247);
         padding: 5px;
         border-radius: 12px;
         border: 2px solid green;
      }
      img {
         height: 90%;
         width: 100%;
         border-radius: 12px;
      }
      .content {
         font-size: 20px;
         font-weight: bold;
         text-align: center;
         padding: 10px;
         color: green;
      }
   </style>
</head>
<body>
   <h2> 使用CSS中的clamp()函数创建响应式网站 </h2>
   <div class = "card">
      <img src = "https://thumbs.dreamstime.com/b/environment-earth-day-hands-trees-growing-seedlings-bokeh-green-background-female-hand-holding-tree-nature-field-gra-130247647.jpg"
      Alt = "tree image">
      <div class = "content">
         拯救环境!
      </div>
   </div>
</body>
</html>

例子4(介绍Flexbox)

在下面的示例中,我们介绍了Flexbox以制作响应式网页。我们可以使用 display flex 将任何HTML元素显示为flexbox。之后,我们可以使用各种CSS属性来自定义Flexbox的内容。

在这里,我们有一个包含多个 col div 的 row div。 row div 的尺寸根据设备尺寸而改变,但 col div 的尺寸是固定的。因此,我们使用了 flex-wrap: wrap CSS属性来包装 row div 内的内容。它显示了基于行的宽度在单个行中的 col div 总数。

<html>
<head>
   <meta name = "viewport" content = "width=device-width, initial-scale = 1.0">
   <style>
      .row {
         height: auto;
         width: 90%;
         margin: 0 auto;
         background-color: yellow;
         padding: 10px 20px;
         border: 2px solid green;
         border-radius: 12px;
         display: flex;
         flex-wrap: wrap;
         justify-content: space-between;
      }
      .col {
         height: 200px;
         min-width: 200px;
         background-color: red;
         border: 2px solid green;
         border-radius: 12px;
         margin: 10px 20px;
      }
   </style>
</head>
<body>
   <h2>通过使用CSS中的媒体查询创建 <i> 响应网站 </i>。 </h2>
   <div class = "row">
      <div class = "col">
      </div>
      <div class = "col">
      </div>
      <div class = "col">
      </div>
      <div class = "col">
      </div>
   </div>
</body>
</html>

在本教程中,用户学习了如何使网站响应。以上示例教给我们如何使用各种CSS属性,函数和规则制作响应式网站。开发者需要一起使用所有内容来制作实时网站。在这里,我们仅为学习目的在单个示例中使用了单个属性。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

CSS 教程