当前位置:   article > 正文

网页布局:Flex弹性布局、Grid布局_flex 布局 英文网

flex 布局 英文网

一、什么是网页布局

网站布局是一种定义网站结构的模式(或框架)。

具有为网站所有者和用户构造网站上存在的信息的作用。它为网页内的导航提供了清晰的路径,并将网站的最重要元素置于网站的正面和中心。

1.2 为什么要进行网页布局

网站布局是一种定义网站结构的模式(或框架)。

它具有为网站所有者和用户构造网站上存在的信息的作用。它为网页内的导航提供了清晰的路径,并将网站的最重要元素置于网站的正面和中心。

1.3为什么要进行网页布局

良好的布局可以使用户留在网站上,因为它可以轻松访问重要信息并直观地查找它们。不良的布局会使用户感到失望,然后他们会因为找不到所需的内容而迅速离开网站。

出于这个原因,最好花尽可能多的时间找到所需的布局,因为用户给你的时间不会超过几秒钟。

布局与用户对网站的参与度之间有着很强的关系,它确定了他们在网站页面上停留了多长时间,浏览了多少页面以及它们回到网站的频率。

2、基础布局

网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域

2.1 头部区域

头部区域位于整个网页的顶部,一般用于设置网页的标题或者网页的 logo

  1. <style>
  2. /* 一般使用reset.css或normaliza.css重置默认样式 */
  3. * {
  4. margin: 0;
  5. padding: 0;
  6. }
  7. html,
  8. body {
  9. height: 100%;
  10. }
  11. header {
  12. height: 50px;
  13. background-color: #ccc;
  14. }
  15. </style>

3.2 菜单导航区域

菜单导航条包含了一些链接,可以引导用户浏览其他页面

  1. nav {
  2. height: 30px;
  3. background-color: #999;
  4. }

3.3 内容区域

内容区域一般有三种形式:

  • 1 列:一般用于移动端

  • 2 列:一般用于平板设备

  • 3 列:一般用于 PC 桌面设备

  1. <style>
  2. .column {
  3. float: left;
  4. width: 25%;
  5. background-color: #ccc;
  6. height: 100%;
  7. }
  8. .row {
  9. /* 注意calc中的空格 */
  10. height: calc(100% - 130px);
  11. }
  12. .row::after {
  13. content: '';
  14. clear: both;
  15. }
  16. main.column {
  17. width: 50%;
  18. background-color: #fff;
  19. }
  20. </style>

提示:要设置两列可以设置 width 为 50%。创建 4 列可以设置为 25%。

提示:如果你想了解更多 @media 的规则可以查看 CSS3 多媒体查询

提示: 现在更高级的方式是使用 CSS Flexbox 来创建列的布局,但 Internet Explorer 10 及更早的版本不支持该方式, IE6-10 可以使用浮动方式。

3.5 底部区域

 底部区域在网页的最下方,一般包含版权信息和联系方式等。

  1. footer {
  2. height: 50px;
  3. background-color: #ccc;
  4. position: absolute;
  5. bottom: 0;
  6. width: 100%;
  7. }

4 多媒体查询

CSS3 的多媒体查询继承了 CSS2 多媒体类型的所有思想: 取代了查找设备的类型,CSS3 根据设置自适应显示。

媒体查询可用于检测很多事情,例如:

  • viewport(视窗) 的宽度与高度

  • 设备的宽度与高度

  • 朝向 (智能手机横屏,竖屏) 。

  • 分辨率

目前很多针对苹果手机,Android 手机,平板等设备都会使用到多媒体查询。

4.1 多媒体查询语法

多媒体查询由多种媒体组成,可以包含一个或多个表达式,表达式根据条件是否成立返回 true 或 false。

  1. @media not|only mediatype and (mediafeature and|or|not mediafeature) {
  2. #main {
  3. width: 200px;
  4. float: left;
  5. }
  6. }

如果指定的多媒体类型匹配设备类型则查询结果返回 true,文档会在匹配的设备上显示指定样式效果。除非你使用了 not 或 only 操作符,否则所有的样式会适应在所有设备上显示效果。

  • not: not 运算符用于否定媒体查询,如果不满足这个条件则返回 true,否则返回 false。 如果出现在以逗号分隔的查询列表中,它将仅否定应用了该查询的特定查询。 如果使用 not 运算符,则还必须指定媒体类型。

  • only: only 运算符仅在整个查询匹配时才用于应用样式,并且对于防止较早的浏览器应用所选样式很有用。 当不使用 only 时,旧版本的浏览器会将 screen and (max-width: 500px) 简单地解释为 screen,忽略查询的其余部分,并将其样式应用于所有屏幕。 如果使用 only 运算符,则还必须指定媒体类型。

  • , (逗号) 逗号用于将多个媒体查询合并为一个规则。 逗号分隔列表中的每个查询都与其他查询分开处理。 因此,如果列表中的任何查询为 true,则整个 media 语句均返回 true。 换句话说,列表的行为类似于逻辑或 or 运算符。

  • and: and 操作符用于将多个媒体查询规则组合成单条媒体查询,当每个查询规则都为真时则该条媒体查询为真,它还用于将媒体功能与媒体类型结合在一起

你也可以针对不同的媒体使用不同样式文件 :

  1. <style>
  2. <!-- 宽度大于 900px 的屏幕使用该样式 -->
  3. <link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css">
  4. <!-- 宽度小于或等于 600px 的屏幕使用该样式 -->
  5. <link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css">
  6. </style>

4.2 多媒体类型

描述
all用于所有多媒体类型设备
print用于打印机
screen用于电脑屏幕,平板,智能手机等。
speech用于屏幕阅读器

4.3 媒体功能

描述
aspect-ratio定义输出设备中的页面可见区域宽度与高度的比率
color定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0
color-index定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0
device-aspect-ratio定义输出设备的屏幕可见宽度与高度的比率。
device-height定义输出设备的屏幕可见高度。
device-width定义输出设备的屏幕可见宽度。
grid用来查询输出设备是否使用栅格或点阵。
height定义输出设备中的页面可见区域高度。
max-aspect-ratio定义输出设备的屏幕可见宽度与高度的最大比率。
max-color定义输出设备每一组彩色原件的最大个数。
max-color-index定义在输出设备的彩色查询表中的最大条目数。
max-device-aspect-ratio定义输出设备的屏幕可见宽度与高度的最大比率。
max-device-height定义输出设备的屏幕可见的最大高度。
max-device-width定义输出设备的屏幕最大可见宽度。
max-height定义输出设备中的页面最大可见区域高度。
max-monochrome定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。
max-resolution定义设备的最大分辨率。
max-width定义输出设备中的页面最大可见区域宽度。
min-aspect-ratio定义输出设备中的页面可见区域宽度与高度的最小比率。
min-color定义输出设备每一组彩色原件的最小个数。
min-color-index定义在输出设备的彩色查询表中的最小条目数。
min-device-aspect-ratio定义输出设备的屏幕可见宽度与高度的最小比率。
min-device-width定义输出设备的屏幕最小可见宽度。
min-device-height定义输出设备的屏幕的最小可见高度。
min-height定义输出设备中的页面最小可见区域高度。
min-monochrome定义在一个单色框架缓冲区中每像素包含的最小单色原件个数
min-resolution定义设备的最小分辨率。
min-width定义输出设备中的页面最小可见区域宽度。
monochrome定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0
orientation定义输出设备中的页面可见区域高度是否大于或等于宽度。
resolution定义设备的分辨率。如:96dpi, 300dpi, 118dpcm
scan定义电视类设备的扫描工序。
width定义输出设备中的页面可见区域宽度。

  1. <style>
  2. @media only screen and (max-width: 500px) {
  3. .gridmenu {
  4. width:100%;
  5. }
  6. .gridmain {
  7. width:100%;
  8. }
  9. .gridright {
  10. width:100%;
  11. }
  12. }
  13. </style>

5 响应式布局

响应式布局比较有代表性的前端UI框架如Bootstrap、LayUI等。

5.1 移动设备优先

为了确保适当的绘制和触屏缩放,需要在 <head> 之中添加 viewport 元数据标签

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

5.2 栅格布局

使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

大屏幕(大桌面显示器,大于等于 1200px)

  1. @media (min-width: 1200px) {
  2. .col-1 {
  3. width: 8.33%;
  4. }
  5. }

中等屏幕(桌面显示器,大于等于 992px)

  1. @media (min-width: 992px) {
  2. .col-1 {
  3. width: 16.66%;
  4. }
  5. }

小屏幕(平板,大于等于 768px)

  1. @media (min-width: 768px) {
  2. .col-1 {
  3. width: 33.33%;
  4. }
  5. }

超小屏幕(手机,小于 768px)  

  1. <style>
  2. .row {
  3. width: 100%;
  4. overflow: hidden;
  5. }
  6. .row::after {
  7. content: '';
  8. clear: both;
  9. }
  10. .col-1 {
  11. height: 60px;
  12. width: 100%;
  13. float: left;
  14. }
  15. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/269544
推荐阅读
相关标签
  

闽ICP备14008679号