zoukankan      html  css  js  c++  java
  • CSS3 响应式web设计,CSS3 Media Queries

    两种方式,一种是直接在link中判断设备的尺寸,然后引用不同的css文件:

    <link rel="stylesheet" type="text/css" href="styleA.css" media="screen and (min- 400px)">

    意思是当屏幕的宽度大于等于400px的时候,应用styleA.css

    在media属性里:

    • screen 是媒体类型里的一种,CSS2.1定义了10种媒体类型
    • and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备)
    • (min- 400px) 就是媒体特性,其被放置在一对圆括号中。完整的特性参看 相关的Media features部分
    <link rel="stylesheet" type="text/css" href="styleB.css"  media="screen and (min- 600px) and (max- 800px)">

    意思是当屏幕的宽度大于600小于800时,应用styleB.css

    其它属性可看这里:http://www.swordair.com/blog/2010/08/431/

    另一种方式,即是直接写在<style>标签里:

    @media screen and (max- 600px) { /*当屏幕尺寸小于600px时,应用下面的CSS样式*/
      .class {
        background: #ccc;
      }
    }

    写法是前面加@media,其它跟link里的media属性相同

    其实基本上就是样式覆盖~,判断设备,然后引用不同的样式文件覆盖。

    要注意的是由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要,否则会出现横向滚动条。

      

    CSS 语法

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

    你也可以针对不同的媒体使用不同 stylesheets :

    <link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

    媒体类型

    描述
    all用于所有设备
    aural已废弃。用于语音和声音合成器
    braille已废弃。 应用于盲文触摸式反馈设备
    embossed已废弃。 用于打印的盲人印刷设备
    handheld已废弃。 用于掌上设备或更小的装置,如PDA和小型电话
    print用于打印机和打印预览
    projection已废弃。 用于投影设备
    screen用于电脑屏幕,平板电脑,智能手机等。
    speech应用于屏幕阅读器等发声设备
    tty已废弃。 用于固定的字符网格,如电报、终端设备和对字符有限制的便携设备
    tv已废弃。 用于电视和网络电视

    媒体功能

    描述
    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定义输出设备中的页面可见区域宽度。  

    如今,电脑显示器的屏幕分辨率向越来越大发展,而手机等移动设备终端的分辨率却不可能大到哪里去。越来越多的网站,开始让自己的页面自适合各种分辨率,在小分辨率下显示基本的内容,在大分辨率下显示全部功能,甚至是分多等级的多版本。
    作为web前端开发人员需要知道并且会用这种知识。

    css2的@media

    css2里面虽然支持@media属性,但是能实现的功能比较少,一般只用做打印的时候做特殊定义的CSS。
    语法: @media sMedia { sRules }
    说明:
    sMedia :  指定设备名称。请参阅附录:设备类型
    sRules :  样式表定义
    指定样式表规则用于指定的设备类型。请参阅link对象的media属性(特性)。
    示例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    // 设置显示器用字体尺寸
    @media screen {
    BODY {font-size:12pt; }
    }
    // 设置打印机用字体尺寸
    @media print {
    @import "print.css"
    BODY {font-size:8pt;}
    }

    css3的@media

    @media 属性在CSS3里面已经演变成一种 media queries(媒体查询/匹配)了,在CSS3里面,可以用查询语句来匹配各种类型的屏幕。
    语法:@media : { sRules }
    取值:

    1
    2
    <sMedia>:指定设备名称。
    {sRules}:样式表定义。

    说明:
    判断媒介(对象)类型来实现不同的展现。此特性让CSS可以更精确作用于不同的媒介类型,同一媒介的不同条件(分辨率、色数等等).

    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    media_query: [only | not]?  [ and  ]*
    expression: (  [: ]? )
    media_type: all | aural | braille | handheld | print | projection | screen | tty | tv | embossed
    media_feature: width | min-width | max-width
    | height | min-height | max-height
    | device-width | min-device-width | max-device-width
    | device-height | min-device-height | max-device-height
    | device-aspect-ratio | min-device-aspect-ratio | max-device-aspect-ratio
    | color | min-color | max-color
    | color-index | min-color-index | max-color-index
    | monochrome | min-monochrome | max-monochrome
    | resolution | min-resolution | max-resolution
    | scan | grid

    解析
    media_query:媒体查询条件。包括了 only not and 这些经常在程序里面出现的逻辑判断。
    expression:表达式。媒体特征的匹配与否。
    media_type:媒体的种类。包括了很多。
    media_feature:媒体的特征。常用的是 min-width max-width 最小最大宽度的判断。

    CSS代码

    1
    2
    3
    4
    5
    body{background:blue;}/*宽度500px-800px之间+高度100px-400px之间 蓝色*/
    @media screen and (max-width:500px){body{background:green;}}/*宽度小于500px时 绿色*/
    @media screen and (min-width:800px){body{background:red;}}/*宽度大于800px时 红色*/
    @media screen and (max-height:100px){body{background:yellow;}}/*高度小于100px时 黄色*/
    @media screen and (min-height:400px){body{background:pink;}}/*高度大于400px时 粉色*/

    HTML代码

    1
    2
    3
    4
    5
    6
    <p>效果演示,请缩小/扩大浏览器的窗口大小注意背景色的变化。逻辑如下:</p>
    <p>/*宽度500px-800px之间+高度100px-400px之间 蓝色*/</p>
    <p>/*宽度小于500px时 绿色*/</p>
    <p>/*宽度大于800px时 红色*/</p>
    <p>/*高度小于100px时 黄色*/</p>
    <p>/*高度大于400px时 粉色*/</p>
     






  • 相关阅读:
    大数据问题集锦
    分析JMeter聚合报告中的各项指标
    Jmeter之正则表达式提取器应用
    mysql忘记密码怎么办?
    ARIMA模型
    ADF检验
    第13章 时间序列分析和预测
    pandas的基本功能
    pandas库
    PS常用快捷键
  • 原文地址:https://www.cnblogs.com/Full--Stack/p/8041274.html
Copyright © 2011-2022 走看看