响应式布局--媒体查询

手机浏览器会将一个标准网页缩小至与设备可视区域(标准技术术语叫做“视口”)恰好匹配。然后用户在自己感兴趣的内容区域上放大浏览

大多数情况下,根据视口大小为用户提供与之匹配的视觉效果还是优先选择

用厂商前缀时,遵循样式表的层叠特性,将无前缀的代码放在最后,这样如果该特性可用,则会覆盖之前的声明

使用CSS的@import指令在当前样式表中按条件引入其他样式表,eg:
@import url("phone.css") screen and (max-width:360px);
使用CSS的@import方式会增加HTTP请求(这会影响加载速度)

媒体查询能检测的一部分特性
创建媒体查询时,最常用的是设备的视口宽度(width)和屏幕宽度(device-width)。
width:视口宽度
height:视口高度
device-width:渲染表面的宽度(对我们来说,就是设备屏幕的宽度)
device-height:同上(设备屏幕的高度)
orientation:检查设备处于横向还是纵向
aspect-ratio:基于视口宽度和高度的宽高比。一个16:9比例的显示屏可以这样定义aspect-ratio:16/9
device-aspect-ratio:基于设备渲染平面宽度和高度的宽高比
color:每种颜色的位数。例如min-color:16会检测设备是否拥有16位颜色
resolution:用来检测屏幕或打印机的分辨率,如min-resolution:300dpi。还可以接受每厘米像素点数的度量值,如min-resolution:118dpcm
上述所有特性中,都可使用min和max前缀来创建一个查询范围

CSS层叠样式表,所谓层叠,就是指样式表中后面的样式会覆盖前面相同的样式(除非前面的样式具有更高的针对性)。可以在样式表的开头设置基本样式,以便适应所有设计,然后使用媒体查询来进一步重写相应的部分

iOS上的Safari浏览器默认是在980像素宽的画布上渲染页面,然后将画布缩小到与视口大小匹配

阻止移动浏览器自动调整页面大小
viewport meta元素覆盖默认的画面缩放设置
<meta name="viewport" content="initial-scale=2.0,width=device-width"/>
content="initial-scale=2.0"的意思是将页面放大两倍,width=device-width告诉浏览器页面的宽度应该等于设备宽度。
<meta>标签还可以控制页面可缩放的范围,下面代码允许用户将页面最多放大至设备宽度的3倍,最下亚索至设备宽度的一半
<meta name="viewport" content="width=device-width,maximum-scale=3,minimum-scale=0.5"/>
禁止用户缩放:
<meta name="viewport" content="initial-scale=1.0,user-scalable=no"/>
user-scalable=no即是禁止缩放

将缩放比例设置为1.0,表示浏览器将按照其视口的实际大小来渲染页面。将宽度设置为设备宽度,意味着支持该特性的浏览器都将会按照设备宽度的实际大小来渲染页面
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>

原来代码结构片段:
<div id="sidebar">
<p>here is the sidebar</p>
</div>
<div id="content">
<p>here is the content</p>
</div>
互换位置后:
<div id="content">
<p>here is the content</p>
</div>
<div id="sidebar">
<p>here is the sidebar</p>
</div>
虽然我们互换了标签位置,但页面在大视口中的显示效果没有变化,因为侧边栏和内容区分别使用了float:left和float:right属性。但是在iPad上,则变成了首先显示内容区,下面才是侧边栏

流动布局,保证页面在媒体查询断点之间的显示效果平滑流畅

<body>
<div id="wrapper">
    <div id="header">
        <div id="navigation">
            <ul>
                <li><a href="#">navigation1</a></li>
                </ul><a href="#">navigation2</a></li>
            </ul>
        </div>
    </div>

    <div id="content">
        <p>that films like King Kong, Moulin Rouge and Munich get the statue whilst the real cinematic heroes lose out. Not very Hollywood is it?
We’re here to put things right.that films like King Kong, Moulin Rouge and Munich get the statue whilst the real cinematic heroes lose out. Not very Hollywood is it?
We’re here to put things right.that films like King Kong, Moulin Rouge and Munich get the statue whilst the real cinematic heroes lose out. Not very Hollywood is it?
We’re here to put things right.that films like King Kong, Moulin Rouge and Munich get the statue whilst the real cinematic heroes lose out. Not very Hollywood is it?
We’re here to put things right.that films like King Kong, Moulin Rouge and Munich get the statue whilst the real cinematic heroes lose out. Not very Hollywood is it?
We’re here to put things right.that films like King Kong, Moulin Rouge and Munich get the statue whilst the real cinematic heroes lose out. Not very Hollywood is it?
We’re here to put things right.</p>
    </div>

    <div id="sidebar">
        <p>here is the sidebar</p>
    </div>

    <div id="footer">
        <p>Here is the footer</p>
    </div>
</div>
</body>
*{
    padding:0;
    margin:0;
}
#wrapper{
    margin-right:auto;
    margin-left:auto;
    width:960px;
    border:1px solid red;
}
#header{
    margin-right:10px;
    margin-left:10px;
    width:940px;
    background-image:url(images/buntingFW.png);
}
#navigation ul li{
    display:inline-block;
}
#sidebar{
    margin-right:10px;
    margin-left:10px;
    float:left;
    background-color:#fe9c00;
    width:220px;
}
#content{
    margin-right:10px;
    margin-left:10px;
    float:right;
    width:700px;
    background-color:#dedede;
}
#footer{
    margin-right:10px;
    margin-left:10px;
    clear:both;
    background-image:url(images/buntingFWinvert.png);
    width:940px;
}

@media screen and (max-width:768px){
    #wrapper{
        width:768px;
    }
    #header,#footer,#navigation{
        width:748px;
    }
    #content,#sidebar{
        margin-top:20px;
        padding-right:10px;
        padding-left:10px;
        width:728px;
    }
}

时间: 2024-08-08 08:22:58

响应式布局--媒体查询的相关文章

响应式设计——媒体查询

一.响应式设计 响应式设计的概念是页面的设计应根据用户的行为(如调整浏览器窗口大小)和设备环境(如屏幕大小.屏幕定向)进行相应的调整.它可以由多方面组成,包括弹性网格和布局.弹性图片.媒体查询等. 二.媒体查询      2.1媒体查询的概念         在css2中允许使用media来对特定的媒体应用特定的样式,例如针对屏幕或者打印机.可以通过<link>标签的media属性为样式表指定特定的媒体. <link rel="stylesheet" type=&qu

响应式WEB&amp;媒体查询

为什么响应式设计需要媒体查询? 媒体查询 中可用于检测的媒体特性有 width.height 和 color(等).使用媒体查询, 可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果. 使用媒体查询步骤: 1.在head中引入下面这个meta标签: <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no&

响应式设计-媒体查询

媒体查询 媒体查询只支持IE9+.chrome.ff等浏览器,IE8以下的浏览器可以下载引用respond.js, 写法: <!--[if lt IE 9]> <script src="respond.js"></script><![endif]--> 媒体查询能检测哪些属性 :    1.width  视口宽度    2.height 视口高度    3.device-width 渲染表面的宽度(对我们来说就是设备屏幕的宽度)    4

布局的几种方式(静态布局、自适应布局、流式布局、响应式布局、弹性布局)

一.静态布局(static layout) 即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位. 1.布局特点 不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示.常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见于pc端. 2.设计方法 PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查

关于响应式布局的总结与思考(一)-常识介绍

一.概念 Responsive Web Design(响应式布局)这个名词是Ethan Marcotte在2010年提出.简单说呢就针对不同的屏幕分辨率应用不同的CSS样式.比如在电脑.Pad设备上,屏幕比较宽,就可以一行放多个Div.到了手机上,或者Pad竖着拿的的时候,一行就只放1到2个Div就差不多了.这样在移动设备上,无论是字体大小还是页面布局就不会显得很局促.一切都是为了客户的体验度. 首先,要实现响应式布局,至少需要知道下面几个知识点 二.meta标签设置 下面的这段话在响应式布局里

关于静态布局、自适应布局、流式布局、响应式布局、弹性布局的一些概念

一.静态布局(Static Layout)即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位. 1.布局特点:不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示.常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见与pc端.2.设计方法: PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅

页面布局的几种方式(静态化布局,流式布局,自适应布局,响应式布局,弹性布局)

一.静态布局(static layout) 即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位. 1.布局特点 不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示.常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见于pc端. https://developers.google.com/search/mobile-sites/mobile-seo/respon

2019.4.26 响应式布局

目录 viewport 流式布局 正常流式布局 盒模型流式布局 媒体查询 正常媒体查询 内部引入媒体查询 外部引入媒体查询 横竖屏检测 em和rem @ viewport <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" /> 有代码提示 是真的爽到 流式布局 (不是流石(さ

html5 响应式布局(媒体查询)

响应式布局 响应式布局,简而言之,就是一个网站能够兼容多个终端--而不是为每个终端做一个特定的版本.这个概念是为解决移动互联网浏览而诞生的. 响应式布局可以为不同终端的用户提供更加舒适的界面和更好的用户体验,而且随着目前大屏幕移动设备的普及,用"大势所趋"来形容也不为过.随着越来越多的设计师采用这个技术,我们不仅看到很多的创新,还看到了一些成形的模式. html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能.移动终端一般都是对css3支持比较好的