美文网首页
CSS3媒体查询

CSS3媒体查询

作者: icon6 | 来源:发表于2019-05-31 09:15 被阅读0次

响应式布局

1.什么是响应式布局

  • 一个网站可以适应多个终端,而不是为每一个终端去开发一个版本

2.@media (媒体查询)

2.1 语法

@media mediaType and|not|only (media feature) {
     /*CSS-Code;*/
}

2.2 语法结构

  • 媒体类型(mediaType )

    描述
    all 用于所有设备
    print 用于打印机和打印预览
    screen 用于电脑屏幕,平板电脑,智能手机等。(最常用)
    speech 应用于屏幕阅读器等发声设备
  • 媒体功能(media feature)

    描述
    max-width 定义输出设备中的页面最大可见区域宽度
    min-width 定义输出设备中的页面最小可见区域宽度
  • 屏幕尺寸(screen)

    类型
    手机 (<768px)
    平板 (≥768px)
    桌面显示器 (≥992px)
    大屏显示器 (≥1200px)
  • 引入方式

    • link 标签中判断设备的尺寸,然后引用不同的 css 文件

      <!-- 当宽度小于800px的时候 加载example.css文件 -->
      <link rel="stylesheet" media="(max-width: 800px)" href="example.css" />
      
    • 另一种方式,直接写在 style 标签里或 css 文件里

      /* 当屏幕宽度小于600px的时候 header标签隐藏 */
      @media screen and (max-width:600px) {
          header {
              display: none;
          }
      }
      
    • 推荐写在css文件里,减少http请求次数,提高网页性能。

2.3 如何使用

  1. 设置 meta 标签

    首先我们在使用 @media 的时候需要先设置下面这段代码,来兼容移动设备的展示效果

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
    • width=device-width 宽度等于当前设备的宽度
    • initial-scale=1.0 初始的缩放比例(默认设置为1.0,即代表不缩放)
    • user-scalable 用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)
  2. 加载兼容文件

    因为IE8 既不支持 HTML5也不支持 CSS3 @media ,所以我们需要加载两个JS文件,来保证我们的代码实现兼容效果

    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
      <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
    <![endif]-->
    
  3. 设置IE渲染方式默认为最高(可选)

    现在有很多人的IE浏览器都升级到 IE9以上了,所以这个时候就有又很多诡异的事情发生了,例如现在是 IE9 的浏览器,但是浏览器的文档模式却是 IE8为了防止这种情况,我们需要下面这段代码来让IE的文档渲染模式永远都是最新的

    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    
    • content="ie=edge"告诉IE使用最新的引擎渲染网页

3. 用法

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        /* 去除浏览器默认样式 */
        * {
            margin: 0;
            padding: 0;
        }

        /* 一个高度为100px的盒子 */
        header {
            height: 100px;
            background: purple;
        }

        /* 当浏览器宽度小于768px的时候 header的背景色变为红色 */
        @media screen and (max-width:768px) {
            header {
                background: red;
            }
        }

        /* 当浏览器宽度大于768px小于992px时 header的背景色变为天蓝色 */
        @media screen and (min-width: 768px) and (max-width: 992px) {
            header {
                background: skyblue;
            }
        }

        /* 当浏览器宽度大于1200px时 背景色为粉红色 */
        @media screen and (min-width:1200px) {
            header {
                background: pink;
            }
        }
    </style>
</head>

<body>
    <header> </header>
</body>

</html>

4.总结

到这里媒体查询的知识点也讲完了(都是工作中常用的,如需了解更多,需自行百度),做了一个简单的小案例 。顺便的给大家几条建议

  1. 千万不要忘记设置meta标签,如果忘了写,浏览器是不识别媒体查询代码的;
  2. 媒体查询采用流式布局,站手机端的100%;
  3. pc端网页能不给元素设定固定宽高就不要设,这样易于维护;

相关文章

  • CSS 响应设计-媒体查询

    1、响应式 Web 设计 - 媒体查询 媒体(media)查询在 CSS3 上有介绍:CSS3 @media 查询...

  • 浅谈CSS3 响应式布局--Media Queries

    CSS3 Media Queries , CSS3媒体查询。使用 @media 查询,你可以针对不同的媒体类型定义...

  • CSS3 媒体查询

    1、CSS3 多媒体查询 CSS3 的多媒体查询继承了 CSS2 多媒体类型的所有思想: 取代了查找设备的类型,C...

  • CSS3响应式开发

    CSS3多媒体查询 CSS3 的多媒体查询继承了 CSS2 多媒体类型的所有思想: 取代了查找设备的类型,CSS3...

  • Media queries

    CSS3提供了多种媒体查询的方式 通过dpi

  • IE8 兼容性处理

    Doctype Meta 媒体查询支持 Respond.js CSS3 支持 CSS3 PIE,它支持的特性有这些...

  • 媒体查询

    媒体查询是CSS3添加的新功能。在移动端适配开发中发挥着强大的作用。接下介绍一下媒体查询的用法。 使用 媒体查询有...

  • CSS3中的媒体查询

    一、为什么需要媒体查询 CSS3的媒体查询模块就是为了针对设备特性(width、height等)设置特定的css样...

  • CSS3多媒体查询

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

  • 自适应页面的实现方式

    CSS3 媒体查询 media媒体查询技术的原理:通过匹配不同屏幕设备的特征,让不同特征下的CSS代码生效。常用匹...

网友评论

      本文标题:CSS3媒体查询

      本文链接:https://www.haomeiwen.com/subject/maiitctx.html