且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

CSS中规则@media的用法

更新时间:2022-10-01 13:27:39

CSS中@规则是由@符号开始的,例如@import,@page等。

@media就是其中的一个规则。

@media可以让你根据不同的屏幕大小而使用不同的样式,这可以使得不需要js代码就能实现响应式布局。

不过@media只能用于较新的浏览器,对于老式的IE,不支持。下面是@media支持的浏览器。

CSS中规则@media的用法

@media的语法比较简单,一眼就能看懂。

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

可以参考http://www.w3cschool.cc/cs-s-ref/css3-pr-mediaquery.html值的说明。

其中mediatype就是媒体类型,可以包括好多种,最常用的就是screen,其他多数已经作废。

media feature就定义了这个media设备的一些特征,简单的说就是媒体满足什么条件,常用的就是max-width,min-width。

通过指定屏幕的大小,而采用不同的样式。

举个例子演示如何用@media规则实现响应式布局。

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
    <style type="text/css">
        .contain {
             925px;
            margin:0 auto;
        }

        .c1 {
            width: 300px;
            height: 100px;
            float: left;
            margin: 2px;
            background-color: yellowgreen;
        }


        @media only screen and (min-width: 620px) and (max-width: 930px) {
            .contain {
                width: 610px;
                margin-right: auto;
                margin-left: auto;
            }
        }

        @media only screen and (max-width: 620px) {
            .contain {
                width: 300px;
                margin: 0 auto;
            }
        }
    </style>
</head>
<body>
    <div class="contain">
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
        <div class="c1"></div>
    </div>

</body>
</html>
-----------------------------------------

@media only screen and (min- 620px) and (max-width: 930px)
@media only screen and (max- 620px)
上述2个规则,当屏幕宽度在620px以下,和620px-930px,使用的contain样式是不同的。
截图:
当浏览器宽度在1024px的情况下,显示效果如下:

当浏览器宽度在680px的情况下,显示如下:


当浏览器宽度在480px的情况下,显示如下:

CSS中规则@media的用法

















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/1602797 ,如需转载请自行联系原作者