|
用户体验一直是SEO最注重的,一个好的网页设计能给用户带来舒适的体验。而很多用于SEO优化的网站,画面实在难看...为了优化而优化。如果移动端能自适应最好尽量少调用JS,提高网站打开速度。
纯CSS实现PC浏览器(显示屏幕)或移动端浏览器宽度样式的自适应。将用到@media样式进行判断,不支持IE9以下版本,需要增加一个JS。
一般我们设计网页的时候PC端宽度都在900-1400像素之间,移动端宽度在320-640像素之间,用@media样式选择可以让PC端和移动端自适应,对简单的文章类网站可以不需要单独开发移动端。
css样式选择器写法如下:
@media screen and (判断属性){
css样式
}
不过多解释, 看案例:
- <style>
- .main{height:400px;border:1px solid #eee}
- @media screen and (min-width:1201px){
- .main{width:1200px}
- }
- /*设置在屏幕(浏览器)不小于1201px时,main的宽度显示宽度为1200px*/
- @media screen and (max-width:1200px){
- .main{width:900px}
- }
- /*设置在屏幕(浏览器)不大于1200px时,main的宽度显示宽度为900px*/
- </style>
复制代码
必要说明:
注意css代码的先后顺序,必须尺寸由大到小。这里还要提到书写格式也要按照上面的这样写,全部用英文字符,也可写成压缩的样式:@media screen and (max-width:1200px){.main{width:900px}} 结果是有效,有些失效的原因注意检查“and”的前后是否都有一个空格字符。
max-widht指展示的最大宽度,一般是浏览器窗口宽度。
max-device-width是指所展示使用的设备支持宽度,如一般电脑分辨率1280px,手机等移动设备支持展示宽度(安卓移动设备宽度如360 、480px)等。这个需要在</head>之前引用一段代码:
- <meta name="viewport" content="width=device-width, initial-scale=1" />
复制代码
IE9以下兼容
为了兼容IE9以下版本浏览器,需要加入一个google的JS,或者下载到本地,再调用。把以下代码加到</head>之前。
- <!--[if lt IE 9]>
- <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
- <![endif]-->
复制代码
完整html代码示例
其他div可以把样式写在同一个规则下,这样写在同一个css文件或者写在html下,可以减少网页加载链接次数,速度快,提高用户体验。
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <title>无标题文档</title>
- <style>
- .main{height:400px;border:1px solid #eee}
- .head{height:100px;margin:0 auto;background:#c00}
- @media screen and (min-width:1201px){
- .main{width:1200px}
- .head{width:1200px}
- }
- @media screen and (max-width:1200px){
- .main{width:900px}
- .head{width:900px}
- }
- </style>
- <!--[if lt IE 9]>
- <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
- <![endif]-->
- </head>
- <body>
- <div class="main">DIV宽度会随浏览器宽度变化哦,试试改变浏览器宽度</div>
- <div class="head">DIV宽度会随浏览器宽度变化哦,试试改变浏览器宽度1</div>
- </body>
- </html>
复制代码 |
|