`

Css3媒体查询使用

 
阅读更多
http://my.oschina.net/u/2352644/blog/616042
css3媒体查询技术的出现,在多设备支持上为我们提供了解决方案。

媒体查询的使用方法:
 @media screen and (max-width: 480px) {
  .col-xs-1{width: 8.333333333333332%; float:left;}
  .col-xs-2{ width: 16.666666666666664%; float:left;}
  .col-xs-3{ width: 25%; float:left;}
 
 }

在设备窗口宽度小于480时,下面的样式会被采用,不满足这个查询设置,下面定义的css是无效的,html根本就不会识别到。

简单理解就是,如果当前宽度是1000,那么就是div上有类名.col-xs-1,div还是只是简单块元素(不会浮动和宽为百分比),查询的设置是不起作用的。

充分利用媒体查询,实现多设备支持的框架当前最热门就是bootstrap了,我们可以学习和使用它进行开发。

下面是我自己利用媒体查询写的实例页面,都是常用css布局方式配合了媒体查询,多的就不做解释了,一句话就是写法都是css里面,看看就能懂:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>media/媒体查询/简易UI</title>
    <!--设备设置-->
    <meta name="viewport" content="width=device-width;initial-scale=1.0">
    <!--渲染ie内核-->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <style>
 /*========================全局样式============================*/
 *{ margin:0; padding:0;}
 html{height:100%;}
 body{height:100%; font-size:16px; font-family:"微软雅黑";}
 a{ text-decoration:none;}
 img{ border:none;}
 ul{ list-style:none;}
    /*========================预定义样式==========================*/ 
 /*通用*/
 .left{float:left;}
 .right{float:right;}
 .clear{clear:both;}
 .clearfix:after{ content:"."; display:block; height:0; clear:both; overflow:hidden;}
 .clearfix{ zoom:1;}
 /*12列布局*/
 .row:after{ content:"."; display:block; height:0; clear:both; overflow:hidden;}
 @media screen and (max-width: 480px) {
  .col-xs-1{width: 8.333333333333332%; float:left;}
  .col-xs-2{ width: 16.666666666666664%; float:left;}
  .col-xs-3{ width: 25%; float:left;}
  .col-xs-4{ width: 33.33333333333333%; float:left;}
  .col-xs-5{width: 41.66666666666667%; float:left;}
  .col-xs-6{width: 50%; float:left;}
  .col-xs-7{ width: 58.333333333333336%; float:left;}
  .col-xs-8{width: 66.66666666666666%; float:left;}
  .col-xs-9{width: 75%; float:left;}
  .col-xs-10{width: 83.33333333333334%; float:left;}
  .col-xs-11{ width: 91.66666666666666%; float:left;}
  .col-xs-12{ width:100%; float:left;}
  .col-xs-mar-1{ margin-left: 8.333333333333332%; margin-right: 8.333333333333332%;}
  .col-xs-mar-2{ margin-left:16.666666666666664%; margin-right:16.666666666666664%;}
  .col-xs-mar-3{margin-left:25%; margin-right:25%;}
  .col-xs-mar-4{margin-left:33.33333333333333%; margin-right:33.33333333333333%;}
  .col-xs-mar-5{margin-left:41.66666666666667%; margin-right:41.66666666666667%;}
  .col-xs-mar-6{margin-left:50%; margin-right:50%;}
  .col-xs-mar-7{ margin-left:58.333333333333336%; margin-right:58.333333333333336%;}
  .col-xs-mar-8{ margin-left:66.66666666666666%; margin-right:66.66666666666666%;}
  .col-xs-mar-9{margin-left:75%; margin-right:75%;}
  .col-xs-mar-10{margin-left:83.33333333333334%; margin-right:83.33333333333334%;}
  .col-xs-mar-11{margin-left:91.66666666666666%; margin-right:91.66666666666666%;}
 }
 @media screen and (min-width: 481px) and (max-width: 768px) {
  .col-sm-1{ width: 8.333333333333332%; float:left;}
  .col-sm-2{ width:16.666666666666664%; float:left;}
  .col-sm-3{ width:25%; float:left;}
  .col-sm-4{ width:33.33333333333333%; float:left;}
  .col-sm-5{ width:41.66666666666667%; float:left;}
  .col-sm-6{ width:50%; float:left;}
  .col-sm-7{ width:58.333333333333336%; float:left;}
  .col-sm-8{ width:66.66666666666666%; float:left;}
  .col-sm-9{ width:75%; float:left;}
  .col-sm-10{ width:83.33333333333334%; float:left;}
  .col-sm-11{ width:91.66666666666666%; float:left;}
  .col-sm-12{ width:100%; float:left;}
  .col-sm-mar-1{ margin-left: 8.333333333333332%; margin-right: 8.333333333333332%;}
  .col-sm-mar-2{ margin-left:16.666666666666664%; margin-right:16.666666666666664%;}
  .col-sm-mar-3{margin-left:25%; margin-right:25%;}
  .col-sm-mar-4{margin-left:33.33333333333333%; margin-right:33.33333333333333%;}
  .col-sm-mar-5{margin-left:41.66666666666667%; margin-right:41.66666666666667%;}
  .col-sm-mar-6{margin-left:50%; margin-right:50%;}
  .col-sm-mar-7{margin-left:58.333333333333336%; margin-right:58.333333333333336%;}
  .col-sm-mar-8{margin-left:66.66666666666666%; margin-right:66.66666666666666%;}
  .col-sm-mar-9{margin-left:75%; margin-right:75%;}
  .col-sm-mar-10{margin-left:83.33333333333334%; margin-right:83.33333333333334%;}
  .col-sm-mar-11{margin-left:91.66666666666666%; margin-right:91.66666666666666%;}
 }
 @media screen and (min-width: 769px) and (max-width: 992px) {
  .col-md-1{ width: 8.333333333333332%; float:left;}
  .col-md-2{ width:16.666666666666664%; float:left;}
  .col-md-3{ width:25%; float:left;}
  .col-md-4{ width:33.33333333333333%; float:left;}
  .col-md-5{ width:41.66666666666667%; float:left;}
  .col-md-6{ width:50%; float:left;}
  .col-md-7{ width:58.333333333333336%; float:left;}
  .col-md-8{ width:66.66666666666666%; float:left;}
  .col-md-9{ width:75%; float:left;}
  .col-md-10{ width:83.33333333333334%; float:left;}
  .col-md-11{ width:91.66666666666666%; float:left;}
  .col-md-12{ width:100%; float:left;}
  .col-md-mar-1{ margin-left: 8.333333333333332%; margin-right: 8.333333333333332%;}
  .col-md-mar-2{ margin-left:16.666666666666664%; margin-right:16.666666666666664%;}
  .col-md-mar-3{margin-left:25%; margin-right:25%;}
  .col-md-mar-4{margin-left:33.33333333333333%; margin-right:33.33333333333333%;}
  .col-md-mar-5{margin-left:41.66666666666667%; margin-right:41.66666666666667%;}
  .col-md-mar-6{margin-left:50%; margin-right:50%;}
  .col-md-mar-7{margin-left:58.333333333333336%; margin-right:58.333333333333336%;}
  .col-md-mar-8{margin-left:66.66666666666666%; margin-right:66.66666666666666%;}
  .col-md-mar-9{margin-left:75%; margin-right:75%;}
  .col-md-mar-10{margin-left:83.33333333333334%; margin-right:83.33333333333334%;}
  .col-md-mar-11{margin-left:91.66666666666666%; margin-right:91.66666666666666%;}
 }
 @media screen and (min-width: 993px) and (max-width: 1200px) {
  .container{ width:900px; margin:0 auto;}
  .col-lg-1{ width: 8.333333333333332%; float:left;}
  .col-lg-2{ width:16.666666666666664%; float:left;}
  .col-lg-3{ width:25%; float:left;}
  .col-lg-4{ width:33.33333333333333%; float:left;}
  .col-lg-5{ width:41.66666666666667%; float:left;}
  .col-lg-6{ width:50%; float:left;}
  .col-lg-7{ width:58.333333333333336%; float:left;}
  .col-lg-8{ width:66.66666666666666%; float:left;}
  .col-lg-9{ width:75%; float:left;}
  .col-lg-10{ width:83.33333333333334%; float:left;}
  .col-lg-11{ width:91.66666666666666%; float:left;}
  .col-lg-12{ width:100%; float:left;}
  .col-lg-mar-1{ margin-left: 8.333333333333332%; margin-right: 8.333333333333332%;}
  .col-lg-mar-2{ margin-left:16.666666666666664%; margin-right:16.666666666666664%;}
  .col-lg-mar-3{margin-left:25%; margin-right:25%;}
  .col-lg-mar-4{margin-left:33.33333333333333%; margin-right:33.33333333333333%;}
  .col-lg-mar-5{margin-left:41.66666666666667%; margin-right:41.66666666666667%;}
  .col-lg-mar-6{margin-left:50%; margin-right:50%;}
  .col-lg-mar-7{margin-left:58.333333333333336%; margin-right:58.333333333333336%;}
  .col-lg-mar-8{margin-left:66.66666666666666%; margin-right:66.66666666666666%;}
  .col-lg-mar-9{margin-left:75%; margin-right:75%;}
  .col-lg-mar-10{margin-left:83.33333333333334%; margin-right:83.33333333333334%;}
  .col-lg-mar-11{margin-left:91.66666666666666%; margin-right:91.66666666666666%;}
 }
 @media screen and (min-width: 1201px) {
  .container{ width:1100px; margin:0 auto;}
  .col-xs-max-1{ width: 8.333333333333332%; float:left;}
  .col-xs-max-2{ width:16.666666666666664%; float:left;}
  .col-xs-max-3{ width:25%; float:left;}
  .col-xs-max-4{ width:33.33333333333333%; float:left;}
  .col-xs-max-5{ width:41.66666666666667%; float:left;}
  .col-xs-max-6{ width:50%; float:left;}
  .col-xs-max-7{ width:58.333333333333336%; float:left;}
  .col-xs-max-8{ width:66.66666666666666%; float:left;}
  .col-xs-max-9{ width:75%; float:left;}
  .col-xs-max-10{ width:83.33333333333334%; float:left;}
  .col-xs-max-11{ width:91.66666666666666%; float:left;}
  .col-xs-max-12{ width:100%; float:left;}
  .col-xs-max-mar-1{ margin-left: 8.333333333333332%; margin-right: 8.333333333333332%;}
  .col-xs-max-mar-2{ margin-left:16.666666666666664%; margin-right:16.666666666666664%;}
  .col-xs-max-mar-3{margin-left:25%; margin-right:25%;}
  .col-xs-max-mar-4{margin-left:33.33333333333333%; margin-right:33.33333333333333%;}
  .col-xs-max-mar-5{margin-left:41.66666666666667%; margin-right:41.66666666666667%;}
  .col-xs-max-mar-6{margin-left:50%; margin-right:50%;}
  .col-xs-max-mar-7{margin-left:58.333333333333336%; margin-right:58.333333333333336%;}
  .col-xs-max-mar-8{margin-left:66.66666666666666%; margin-right:66.66666666666666%;}
  .col-xs-max-mar-9{margin-left:75%; margin-right:75%;}
  .col-xs-max-mar-10{margin-left:83.33333333333334%; margin-right:83.33333333333334%;}
  .col-xs-max-mar-11{margin-left:91.66666666666666%; margin-right:91.66666666666666%;}
 }
 /*ui细化*/
 .width-10{ width:10px;}
 .width-50{ width:50px;}
 .width-100{ width:100px;}
 .width-150{ width:150px;}
 .width-200{ width:200px;} 
 .border-normal{ background:#999; border:none; margin:10px 10%; display:block; border-radius:10px; height:50px; line-height:40px; color:#fff; text-align:center; width:80%; font-size:18px; cursor:pointer;}
 .border-success{background:#0C6;border:none;margin:10px 10%;display:block; border-radius:10px;height:50px;  line-height:40px; color:#fff; text-align:center;width:80%; font-size:18px; cursor:pointer;}
 .border-err{background:#F33;border:none;margin:10px 10%;display:block; border-radius:10px;height:50px; line-height:40px; color:#fff;  text-align:center;width:80%; font-size:18px; cursor:pointer;}
 .table-normal{ width:100%; margin:10px 0px; border-collapse:collapse;}
 .table-normal td{ border:1px solid #999; padding:5px;}
 .table-radius{ width:100%; margin:10px 0px; border-spacing:0px;border-right:1px solid #999;border-bottom:1px solid #999;border-radius:10px;}
 .table-radius td{ border-top:1px solid #999;border-left:1px solid #999; padding:5px;}
 .table-radius tr td:last-child{}
 .table-radius tr:last-child td{}
 .table-radius tr:first-child td:first-child{border-radius:10px 0 0 0;}
 .table-radius tr:first-child td:last-child{border-radius:0 10px 0 0;}
 .table-radius tr:last-child td:first-child{border-radius:0 0 0 10px;}
 /*=========================自定义样式===========================*/
 #size{ height:50px; line-height:50px; text-align:center; font-weight:bold; font-size:20px; margin:50px; border-bottom:5px solid #09F;}
 .col{ margin:20px 0; background:#0CF; box-sizing:border-box; border:2px solid #993;}
 .col2{background:#C30; box-sizing:border-box; border:2px solid #0CF;height:50px;}
    </style>
</head>
<body>
 <div id="size">测试窗口大小当前为<span id="sizeval">0</span>px</div>
    <h3 style="text-align:center;">演示:12列布局</h3>
    <div class="container">
        <div class="row">
            <div class="col col-md-5 col-lg-3 col-lg-mar-2 col-xs-max-2 col-xs-max-mar-1">1</div>
            <div class="col col-md-5 col-lg-3 col-xs-max-2">2</div>
            <div class="col col-md-5 col-lg-3 col-lg-mar-2 col-xs-max-2">3</div>
            <div class="col col-md-5 col-lg-3 col-xs-max-2">
             <div class="row">
                    <div class="col2 col-md-5 col-lg-3 col-lg-mar-2 col-xs-max-2">3-1</div>
                    <div class="col2 col-md-5 col-lg-3 col-lg-mar-2 col-xs-max-2">3-2</div>
                </div>
            </div>
            <div class="col col-md-12 col-lg-6 col-xs-max-12">4</div>
            <div class="col col-md-8 col-lg-6 col-xs-max-3">5</div>
            <div class="col col-md-4 col-lg-6 col-xs-max-3">6</div>
            <div class="col col-md-4 col-lg-6 col-xs-max-6">7</div>
        </div>
    </div>
    <h3 style="text-align:center;">演示:表单ui</h3>
    <div class="container">
     <input type="button" class="border-normal" value="提交">
        <input type="button" class="border-success" value="提交">
        <input type="button" class="border-err" value="提交">
    </div>
    <h3 style="text-align:center;">演示:表格</h3>
    <div class="container">
    <table class="table-normal">
     <tr><td>1</td><td>1</td><td>1</td></tr>
        <tr><td>2</td><td>2</td><td>2</td></tr>
        <tr><td>3</td><td>3</td><td>3</td></tr>
    </table>
    <table class="table-radius">
     <tr><td>1</td><td>1</td><td>1</td></tr>
        <tr><td>2</td><td>2</td><td>2</td></tr>
        <tr><td>3</td><td>3</td><td>3</td></tr>
    </table>
    </div>
     
</body>
<script>
var size=document.getElementById("size");
var sizeval=document.getElementById("sizeval");
sizeval.innerHTML=document.documentElement.offsetWidth;
window.onresize=function(){
 sizeval.innerHTML=document.documentElement.offsetWidth;
};
</script>
</html>

流式布局,百分比赋值,多预设设置结合媒体查询。
分享到:
评论

相关推荐

    CSS3 多媒体查询

    CSS3 多媒体查询 CSS2 多媒体类型 @media 规则在 CSS2 中有介绍,针对不同媒体类型可以定制不同的样式规则。 例如:你可以针对不同的媒体类型(包括显示器、便携设备、电视机,等等)设置不同的样式规则。 但是这些...

    纯js和CSS3媒体查询制作简单的响应式导航菜单特效源码.zip

    2. 分析CSS媒体查询,理解在不同屏幕尺寸下如何应用样式。 3. 阅读JS代码,了解如何控制菜单的展示和交互效果。 4. 在浏览器中测试代码,观察在不同设备尺寸下的表现,并尝试修改参数以进一步理解其工作原理。 总的...

    React的一个CSS媒体查询组件

    为了实现响应式设计,开发者通常会利用CSS媒体查询(Media Queries)来根据设备特性和视口尺寸应用不同的样式。本文将深入探讨一个专门针对React的CSS媒体查询组件——`react-media`。 `react-media`是一个专门为...

    CSS查询手册CSS查询手册

    3. **CSS3新特性**:CSS3引入了许多增强功能,如媒体查询(Media Queries)用于响应式设计,使得样式可以根据设备的屏幕尺寸、方向等条件进行调整。还有Flexbox(弹性盒布局)和Grid(网格布局)提供了更强大的布局...

    js和CSS3媒体查询制作简单的响应式导航菜单

    这是一款使用纯js和CSS3媒体查询制作的简单的响应式导航菜单效果。该导航菜单类似bootstrap导航菜单,它通过media query制作760像素断点,当视口小于760像素时,菜单会收缩为隐藏的汉堡包菜单。

    postcss-custom-media:遵循CSS媒体查询规范,在CSS中使用自定义媒体查询

    允许您遵循规范在CSS中使用自定义媒体查询。 @custom-media --small-viewport ( max-width : 30 em ); @media ( --small-viewport ) { /* styles for small viewport */ } /* becomes */ @media ( max-width : 30...

    css3参考手册

    CSS3通过媒体查询(@media)实现了响应式设计,允许我们根据设备的视口尺寸、方向等特性来应用不同的样式,从而确保网页在不同设备上都能良好显示。 8. **文字与字体** CSS3增加了对更多字体的支持,如Web字体(`...

    基于html+css响应式项目的媒体查询网页项目源码.zip

    基于html+css响应式项目的媒体查询网页项目源码.zip基于html+css响应式项目的媒体查询网页项目源码.zip基于html+css响应式项目的媒体查询网页项目源码.zip基于html+css响应式项目的媒体查询网页项目源码.zip基于...

    CSS3+媒体查询 实现背景切换 320 and up

    在网页设计领域,CSS3(层叠样式表第三版)引入了媒体查询(Media Queries)这一强大特性,使得我们可以根据设备的物理特性,如屏幕宽度、分辨率等,为不同的设备提供适应性的布局和样式。"CSS3+媒体查询 实现背景...

    CSS3 Media Query CSS3媒介查询

    通过合理使用CSS3 Media Queries,开发者能够创建出更具包容性和可访问性的网站,使内容适应不同用户的需求和设备环境。在实际项目中,结合Flexbox或Grid布局系统,可以实现更高级别的响应式设计控制。 总之,CSS3 ...

    HTML 与 CSS3 各种文档

    4. **响应式设计**:媒体查询(media queries)使得网页能根据设备屏幕尺寸自动调整布局。 5. **新布局模式**:比如Flexbox和Grid布局,提供了更为灵活和强大的二维布局方案。 6. **CSS3新属性**:例如`transform`...

    CSS3 多媒体查询实例

    接下来,我们使用CSS3的媒体查询来改变不同屏幕尺寸下的样式: 1. **520px至699px宽度**:在这个范围内,我们为链接添加邮件图标。通过以下CSS实现: ```css @media screen and (max-width: 699px) and (min-...

    css3-mediaqueries.js 下载

    随着现代浏览器的普及,`css3-mediaqueries.js`的使用逐渐减少,但它在响应式设计早期阶段起到了重要作用,为我们今天广泛使用的媒体查询技术铺平了道路。了解并掌握这个库,能让我们更好地理解响应式设计的历史和...

    css3-mediaqueries兼容ie8的解决方法

    综上所述,解决IE8对CSS3媒体查询的不支持需要结合使用条件注释、第三方库(如`css3-mediaqueries-js`或`respond.js`)、polyfills等技术。通过这些方法,我们可以确保在保持现代网页设计最佳实践的同时,也为老版本...

    css2|css3

    5. **媒体查询**:虽然不全面,但CSS2已经有了初步的媒体查询,允许针对不同的设备类型应用不同的样式。 6. **浮动布局**:`float`属性使得元素可以浮动在文本周围,是早期实现响应式设计的一种方式。 **CSS3** ...

    CSS3媒体查询Media Queries基础学习教程

    CSS3媒体查询(Media Queries)是网页设计中用于实现响应式布局的关键技术,它允许开发者根据设备特性,如视口宽度、颜色深度等,来应用不同的样式规则。媒体查询的基本结构包括媒体类型和一个或多个媒体特性表达式...

    CSS3前端开发人员使用手册.zip

    4. **媒体查询**:CSS3中的媒体查询是实现响应式设计的关键,它允许我们根据设备的特性(如屏幕尺寸、分辨率和方向)来应用不同的样式。 5. **颜色与背景**:CSS3增加了更多的颜色模式和透明度支持,如RGBA、HSLA和...

    css资源css3-mediaqueries

    例如,可以使用`@import`规则导入特定于设备的CSS文件,或者使用`@media`规则直接在CSS文件中定义媒体查询。这使得开发者可以为不同的设备或视口大小提供定制的样式。 自适应设计(Responsive Design)是媒体查询...

    CSS详解及查询(有了它,css不成问题,可用于css查询,及学习)

    2. **响应式设计**: 使用媒体查询(`@media`)根据设备特性调整样式,确保网站在不同设备上表现良好。 3. **动画与过渡**: CSS3引入了`animation`和`transition`,实现元素动态效果,提升用户体验。 4. **伪类和伪...

Global site tag (gtag.js) - Google Analytics