理解响应式网站?
什么是响应式网站?
如果在任何设备上打开响应式网站,每个网页都能正确显示内容,不会被其他网页覆盖或溢出。例如,在任何尺寸的设备上打开 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属性,函数和规则制作响应式网站。开发者需要一起使用所有内容来制作实时网站。在这里,我们仅为学习目的在单个示例中使用了单个属性。