媒体功能

描述
width视口的宽度。 CSS2
height观点的高度。
orientation观点的方向。
scan扫描视口。
aspect-ratio“宽度”媒体特征的值与“高度”媒体特征的值的比率。
grid查询输出设备是否是网格或者位图。
color输出设备的每个颜色分量的比特数。如果设备不是颜色,则值为0。
color-gamut用户代理和输出设备支持的近似颜色范围。
color-index定义输出设备的颜色查找表中的条目数。如果设备不使用颜色查找,则值为0。
inverted-colors查询浏览器或者底层OS反转颜色是否反转。
hover查询主输入机制是否允许用户将鼠标悬停在元素上。
any-hover查询可用的输入机制是否允许用户将鼠标悬停在元素上。
any-pointer查询可用的输入机制是否是指向设备。
light-level光线水平的周围环境。
max-aspect-ratio显示区域的宽度和高度之间的最大比率。
max-color输出设备的每个颜色组件的最大比特数。
max-color-index显示的最大颜色数。
max-height显示区域的最大高度。
max-monochrome单色器件上每个颜色的最大位数。
max-resolution设备的最大分辨率。
max-width显示区域的最大宽度。
min-aspect-ratio显示区域的宽度和高度之间的最小比率。
min-color输出设备的每个颜色分量的最小位数。
min-color-index显示的最小颜色数。
min-height显示区域的最小高度。
min-monochrome单色器件上每个颜色的最小位数。
min-resolution设备的最小分辨率。
min-width显示区域的最小宽度。
monochrome在单色帧缓冲器中定义每个像素的比例数。如果设备不是单色一个,则该值为0。
orientation观点的方向。
overflow-block查询输出设备如何处理沿块轴溢出视口溢出的内容。
overflow-inline查询是否可以滚动沿内联轴延迟视口的内容。
pointer查询主输入机制是否是指向设备。
resolution描述输出设备的分辨率。
scripting查询是否可用脚本。
update查询输出设备如何修改内容外观的快速。
CSS @media 规则

@media at-rule 指定了一组仅应用于特定媒体类型的样式。

媒体查询是一种流行的技术,用于为台式机、笔记本电脑、平板电脑和手机提供响应式网页设计。

除了媒体类型之外,还有一些媒体功能具有名称并接受某些值(如属性)。
但是属性和媒体功能之间存在差异:

  • 没有值就无法显示属性,并且要素不需要值。
  • 与属性不同,功能仅接受单个值。

媒体查询用于检查以下内容:

  • 视口的宽度和高度
  • 设备的宽度和高度
  • 方向
  • 分辨率

在 JavaScript 中,代表单个 @media 规则的 CSSMediaRule 接口可以访问使用 @media 创建的规则。

初始值all
应用于某些媒体类型。
继承无效
可动画的是的。
版本媒体查询,CSS2
DOM 语法object.Style。@ Media =“屏幕和(min-width:500px)”;

语法

@media: media-type (and media-query-feature);

@media 规则示例:

<!DOCTYPE html>
<html>
  <head>
    <title>文档的标题</title>
    <style>
      body {
        background-color: #1c87c9;
      }
      @media screen and (max-width: 411px) {
        body {
          background-color: #cce5ff;
        }
      }
      @media screen and (min-width: 768px) {
        body {
          background-color: #eee;
        }
      }
      @media screen and (max-width: 962px) and (min-width: 450px),
      (min-width: 1366px) {
        background-color: #333;
      }
    </style>
  </head>
  <body>
    <h2>@media rule example</h2>
    <p>调整浏览器大小以查看效果。</p>
     <p>如果视口宽度为 600 像素或者更宽,媒体查询会将背景颜色设置为浅灰色,如果视口宽度在 200 到 599 像素之间,则将背景颜色设置为绿色。 如果视口小于 200 像素,则背景颜色为蓝色。</p>
  </body>
</html>

在下面的示例中,当浏览器的宽度在 500 到 800 像素之间或者 1000 像素以上时, <div> 的外观会发生变化。

调整浏览器窗口大小以查看效果。

更改了 <div> 外观的 @media 规则示例:

<!DOCTYPE html>
<html>
  <head>
    <title>文档的标题</title>
    <style>
      body {
        background-color: #1c87c9;
      }
      @media screen and (min-width: 200px) {
        body {
          background-color: #8ebf42;
        }
      }
      @media screen and (min-width: 600px) {
        body {
          background-color: #ccc;
        }
      }
      @media screen and (max-width: 800px) and (min-width: 500px),
      (min-width: 1000px) {
        div.box {
          font-size: 50px;
          padding: 50px;
          border: 8px solid #000;
          background: #eee;
        }
      }
    </style>
  </head>
  <body>
    <h2>@media rule example</h2>
    <p>如果视口宽度为 600 像素或者更宽,Mediaqueries 将背景颜色设置为灰色,如果视口宽度在 200 到 599 像素之间,则设置为绿色。 如果视口小于 200 像素,则背景颜色为蓝色。</p>
     <h3>在不同的屏幕尺寸上改变 DIV 的外观</h3>
    <div class="box">DIV</div>
  </body>
</html>

媒体类型

描述
all此值用于所有设备。这是此属性的默认值。
print用于打印机。
screen用于彩色计算机屏幕。
speech用于发言者。
initial使属性使用其默认值。
inherit从父母元素继承属性。

使用媒体在超小型设备上隐藏元素的示例:

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <style>
      @media (max-width: 767px) {
        .hide-mobile {
          display: none;
        }
      }
    </style>
  </head>
  <body>
    <h1>Hi</h1>
    <p>There is some text for example.</p>
    <p class="hide-mobile">This text will be hidden on large devices.</p>
    <p>There is some text for example.</p>
  </body>
</html>

使用媒体更改不同设备上的内容背景颜色的示例。

<!DOCTYPE html>
<html>
  <head>
    <title>文档的标题</title>
    <style>
      @media screen and (max-width: 767px) {
        .content {
          background-color: lightblue;
          padding: 30px;
        }
      }
      @media screen and (min-width: 768px) {
        .content {
          background-color: pink;
          padding: 10px;
        }
      }
      @media screen and (min-width: 800px) {
        .content {
          background-color: lightgreen;
          color: white;
          padding: 50px;
        }
      }
    </style>
  </head>
  <body>
    <div class="content">
      <h2>Resize the browser to see the effect.</h2>
      <p>
        CSS is a rule-based language, which means that you define
        rules specifying groups of styles applying to particular
        elements or groups of elements on the web page.
      </p>
    </div>
  </body>
</html>
日期:2020-06-02 22:14:39 来源:oir作者:oir