Code前端首页关于Code前端联系我们

制作、测试和编写响应式网站的四个核心要素

terry 2年前 (2023-09-27) 阅读数 52 #数据结构与算法

1。什么是响应式页面?

响应式网页设计(RWD,Responsive Web Design)是由 Ethan Marcotte 在 2010 年 5 月提出的,简单来说就是一个 可以为多个终端提供不同的显示风格,而不是为每个终端制作特定版本的网站。

由于智能手机和平板电脑的兴起,网页制作不仅要满足PC浏览器的屏幕,还要满足智能手机或平板电脑浏览器的屏幕。 (PC、智能手机或平板浏览器之间的差异主要集中在分辨率的差异。)

2.为什么需要响应式页面

你想同时取悦PC有两种方法可以实现PC、智能手机和平板电脑浏览器的正常屏幕:

a。为 PC、智能手机和平板电脑浏览器创建特殊页面。例如www.tmall.com/

  • 优点:用户体验好,适合复杂页面。
  • 缺点:工作量大,不够灵活。

b。创建可同时在 PC、智能手机和平板电脑浏览器上显示的页面。例如www.intel.cn/

  • 优点:比较灵活,一个页面适应不同终端。
  • 缺点:页面加载时间长,效率较低。

如果电脑上显示的页面与智能手机或平板电脑上显示的页面不同,建议选择a选项。例如,智能手机端可以使用GPS定位当前位置等与PC端不同的功能。然而,无论是在计算机、智能手机还是平板电脑上,大多数网站页面显示的内容基本相同。建议选择选项b

3。响应式页面的配置

目前,响应式页面可以通过两种方式实现:

a。使用Bootstrap等框架,这种方法开发响应式页面更快更简单,但由于集成了CSS样式,页面样式相似且没有属性。

b。手工完成。这种开发响应式页面的方法速度较慢,需要的代码较多,但CSS样式可以根据网站的特点进行定制。

手写方法需要使用以下技术:​​分级网格布局

  • CSS3 媒体查询
  • 将绝对单位T 响应式❙替换为相对单位❙1。测试响应式页面

    测试响应式页面可以通过三种方式完成:

    • 使用正确的设备进行测试。这种测试方法效果最好,但也最复杂,需要不同分辨率的设备,而且价格昂贵。
    • 使用第三方模拟器进行测试。这种方式一般针对智能手机终端进行开发,需要在计算机上安装各种开发工具,比较繁琐,性能较差。或者通过在线测试网站进行测试,测试周期较长。
    • 通过浏览器自带的设备模拟器进行测试。这种方法是最方便的。各大浏览器都有设备模拟器,测试结果较好。

    2。使用浏览器测试

    我们以Chrome浏览器为例。

    打开Chrome浏览器,点击右上角菜单,选择“更多工具”下的“开发者工具”。 (Windows操作系统版本的Chrome浏览器可以直接用F12热键打开。

    注意:

    • 每次页面显示设备都需要更换刷新。
    • 部分功能无法正常测试,如电话本、拍照等。

    3.使用第三方工具进行测试

    4。使用真实设备进行测试

    编写响应式页面

    1。视口元元素

    1) 什么是视口?

    Viewport翻译为“视口”,代表页面的可见区域。定义 HTML 页面的元元素是响应式页面设计的必备功能。

    移动浏览器在虚拟“窗口”(视口)中渲染页面,该窗口通常比屏幕更宽,这会将所有页面无序地挤压到小屏幕上(这会压缩许多未针对移动设备进行优化的页面)。 )。用户可以平移和缩放来探索页面的不同区域。

    设置视口元元素允许开发人员控制屏幕尺寸和宽高比。如今大多数移动浏览器都支持视图元元素,尽管它不是 Web 标准的一部分。?值

    宽度 设置窗口宽度 像素值或设备宽度(表示 100% 屏幕宽度的像素值) 高度 通常不指定初始比例 设置初始缩放比例最小比例 设置允许的最小缩放比例 允许最大最大‷t 用户可扩展 用户是否可以手动缩放1或yes表示允许; 0或no表示禁止

    meta元元素建议放在主元素前面。

    2。使用相对单位

    1)使用相对宽度值

    通过学习CSS,你知道可以使用px像素值和百分比值来设置宽度。由像素值设置的宽度是固定值,不能随着屏幕尺寸的变化而变化。如果你想启用响应式页面宽度,你可以只使用百分比或自动。

    如何从固定布局更改为百分比布局

    书中《无懈可击的 Web 设计》有一个简单可行的公式:

    目标元素宽度 / 上下文元素宽度 = 百分比宽度 

    以下代码设置上述HTML页面值❙❙❙❀像素值更改为百分比:

    div {
    	width : 60%;
    	height : auto;
    	border : 1px solid black;
    	}
    p {
    	width : 96%;  /* 480/500=96% */
    	padding-left: 2%; /* 10/500=2% */
    }
    2)用em代替px

    以前用em代替px来设置字体,主要是为了解决老版本IE浏览器无法以像素为单位缩放文字的问题。值集。

    目前使用em代替px来设置字体。主要用途如下:

    • 使旧版本的IE浏览器能够缩放文本。
    • 更好地使用响应式页面,让页面更加高效。

    em 的实际大小是相对于上下文字体大小而言的,例如 1em 表示与上下文字体大小相同。 em 单位设置字体也可以使用以下公式计算:

    目标元素尺寸 / 上下文元素尺寸 = 百分比尺寸 

    值得注意的是: 浏览器显示的默认文本大小为 16 像素。

    3。平滑布局

    1)什么是平滑布局

    所谓的。液体布局意味着侧面元素的宽度适应屏幕。简单来说,HTML页面中元素的大小根据不同的分辨率而变化,但位置不变。

    这种布局的主要问题是,如果屏幕比例太大,在对于原始设计来说太小或太大的屏幕上将无法正常显示。

    响应式网页制作的四大核心要素、测试与编写

    2)创建流布局

    流布局通常分为12列。将 HTML 页面的宽度设置为 100%,以便随着浏览器窗口大小的变化自动缩放 HTML 页面。

    • 计算每列的百分比: 100% / 12 列 = 8.33% 根据以上计算结果,在
    .col-1 {width: 8.33%;}
    .col-2 {width: 16.66%;}
    .col-3 {width: 25%;}
    .col-4 {width: 33.33%;}
    .col-5 {width: 41.66%;}
    .col-6 {width: 50%;}
    .col-7 {width: 58.33%;}
    .col-8 {width: 66.66%;}
    .col-9 {width: 75%;}
    .col-10 {width: 83.33%;}
    .col-11 {width: 91.66%;}
    .col-12 {width: 100%;}
    [class*="col-"] {
        float: left;
    }
    • 页面的调整所有元素大小框中设置 CSS 类:。到边缘框。
      • 当box size值为content-box(默认值)时,标准box模型。尺寸计算公式:width = 内容宽度,height = 内容高度。

        宽度或高度不包括内容边框和内边距。

        div {
              width : 300px;
              height : 200px;
              border : 10px solid black;
              background : deepskyblue;
        }
        
      • 当盒子大小值为border-box时,IE Quirks模式使用的盒子模型。尺寸计算公式:width = border + padding + 内容宽度,height = border + padding + 内容高度。

        注意:包装盒中包含边缘和边框。

        div {
               box-sizing: border-box;
               width : 300px;
               height : 200px;
               border : 10px solid black;
               background : deepskyblue;
        }

    根据上述流程布局的内容,实现以下案例:

    • 航班
    • 城市
    • 岛屿
    • 食品♓ 干尼亚地区首府城市克里特岛。城市可以分为两部分,旧城和现代城。

      调整浏览器窗口大小,看看内容对调整大小的反应。

      
      
      

      4.响应式图像

      相对容易理解的是,图像的显示根据浏览器窗口的大小而变化。将图像宽度设置为 100%。

      img {
          width: 100%;
          height: auto;
      }

      但是经过此设置后,图像可能会显得比实际尺寸大。为了解决这个问题,可以使用 max-width 属性来代替 width 属性。

      img {
          max-width: 100%;
          height: auto;
      }

      此设置后,图像显示将永远不会大于实际尺寸。

      5。 CSS 媒体查询

      如果你想面对更复杂的情况,你需要使用 CSS3 媒体查询来解决它们。

      MediaQuery 包含一种媒体类型和至少一个使用媒体属性(例如宽度、高度和颜色)限制样式表范围的表达式。添加到 CSS3 的媒体查询允许将样式应用于特定设备范围,而无需修改内容。

      媒体查询语法

      媒体查询包含媒体类型、逻辑运算符和一个或多个媒体属性。如果媒体查询的 MediaType 与显示文档的设备匹配,并且媒体查询中的所有表达式都为 true,则查询为 true。

      媒体查询可以用两种不同的方式编写:

      这种方法需要为不同的设备编写不同的 CSS 样式页面。

      @media mediatype and|not|only (media feature) {
          CSS-Code;
      }

      此方法只需要编写一个CSS样式表,并根据不同的设备在样式表上设置不同的样式。 ( 更常用

      介质类型
      描述 ❝ 适用于所有设备
      打印 用于打印机和打印预览s
      屏幕 用于计算机屏幕、平板电脑、智能手机等。
      语音 用于产生声音的设备,例如屏幕阅读器

      媒体类型最常见的值是屏幕。

      逻辑运算符
      描述
      用于组合同一媒体查询中的多个媒体属性。仅当每个属性都为 true 时,此查询的结果才为 true。
      not用于翻译媒体查询结果。
      only表示仅当媒体查询匹配成功时才使用指定的样式。这允许您防止在旧版浏览器中使用选定的样式。

      您还可以组合多个媒体查询,并用逗号分隔。只要其中一项是真实的,整个媒体的声明就是真实的。回答接线员或。

      描述
      宽度定义打印设备上页面可见区域的宽度
      max-width 定义可见设备的最大宽度 max-device-width 定义打印设备上最大屏幕可见宽度
      min-width 指定打印设备上页面可见区域的最小宽度 ♾min - width 指定打印设备屏幕的最小可见宽度。 干尼亚是克里特岛干尼亚地区的首府。城市可以分为两部分,旧城区和现代城市。

      调整浏览器窗口大小,查看内容对大小调整的反应。

      
      
      
      
      .col-1 {
          width: 8.33%;
      }
      
      .col-2 {
          width: 16.66%;
      }
      
      .col-3 {
          width: 25%;
      }
      
      .col-4 {
          width: 33.33%;
      }
      
      .col-5 {
          width: 41.66%;
      }
      
      .col-6 {
          width: 50%;
      }
      
      .col-7 {
          width: 58.33%;
      }
      
      .col-8 {
          width: 66.66%;
      }
      
      .col-9 {
          width: 75%;
      }
      
      .col-10 {
          width: 83.33%;
      }
      
      .col-11 {
          width: 91.66%;
      }
      
      .col-12 {
          width: 100%;
      }
      
      [class*="col-"] {
          float: left;
          padding: 15px;
      }
      
      [class*="col-"] {
          width: 100%;
          padding: 15px;
      }
      样式页面上的 CSS 媒体查询
      • 飞行
      • 城市
      • 岛屿
      • 美食

      城市

      哈尼亚是克里特岛干尼亚地区的首府。城市可以分为两部分,旧城和现代城。

      调整浏览器窗口大小,看看内容对调整大小的反应。

      
      
      
      /* For desktop: */
      .col-1 {
          width: 8.33%;
      }
      
      .col-2 {
          width: 16.66%;
      }
      
      .col-3 {
          width: 25%;
      }
      
      .col-4 {
          width: 33.33%;
      }
      
      .col-5 {
          width: 41.66%;
      }
      
      .col-6 {
          width: 50%;
      }
      
      .col-7 {
          width: 58.33%;
      }
      
      .col-8 {
          width: 66.66%;
      }
      
      .col-9 {
          width: 75%;
      }
      
      .col-10 {
          width: 83.33%;
      }
      
      .col-11 {
          width: 91.66%;
      }
      
      .col-12 {
          width: 100%;
      }
      
      [class*="col-"] {
          float: left;
          padding: 15px;
      }
      
      @media only screen and (max-width: 768px) {
          /* For mobile phones: */
          [class*="col-"] {
              width: 100%;
          }
      }
  • 版权声明

    本文仅代表作者观点,不代表Code前端网立场。
    本文系作者Code前端网发表,如需转载,请注明页面地址。

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    热门