专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

使用CSS3的@media来实现网页自适应

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:04:56       共计:3600 浏览

如今,电脑显示器的屏幕分辨率向越来越大发展,而手机等移动设备终端的分辨率却不可能大到哪里去。越来越多的网站,开始让自己的页面自适合各种分辨率,在小分辨率下显示基本的内容,在大分辨率下显示全部功能,甚至是分多等级的多版本。
作为web前端开发人员需要知道并且会用这种知识。

css2的@media

css2里面虽然支持@media属性,但是能实现的功能比较少,一般只用做打印的时候做特殊定义的CSS。
语法: @media sMedia { sRules }
说明:
sMedia :  指定设备名称。请参阅附录:设备类型
sRules :  样式表定义
指定样式表规则用于指定的设备类型。请参阅link对象的media属性(特性)。
示例:

  1. // 设置显示器用字体尺寸
  2. @media screen {
  3. BODY {font-size:12pt; }
  4. }
  5. // 设置打印机用字体尺寸
  6. @media print {
  7. @import "print.css"
  8. BODY {font-size:8pt;}
  9. }

css3的@media

@media 属性在CSS3里面已经演变成一种 media queries(媒体查询/匹配)了,在CSS3里面,可以用查询语句来匹配各种类型的屏幕。
语法:@media : { sRules }
取值:

指定设备名称。请参阅附录:设备类型
{sRules}:
样式表定义。
说明:
判断媒介(对象)类型来实现不同的展现。此特性让CSS可以更精确作用于不同的媒介类型,同一媒介的不同条件(分辨率、色数等等).

media_query: [only | not]?  [ and  ]* expression: (  [: ]? ) media_type: all | aural | braille | handheld | print | projection | screen | tty | tv | embossed
media_feature: width | min-width | max-width | height | min-height | max-height | device-width | min-device-width | max-device-width | device-height | min-device-height | max-device-height | device-aspect-ratio | min-device-aspect-ratio | max-device-aspect-ratio | color | min-color | max-color | color-index | min-color-index | max-color-index | monochrome | min-monochrome | max-monochrome | resolution | min-resolution | max-resolution | scan | grid

解析
media_query:媒体查询条件。包括了 only not and 这些经常在程序里面出现的逻辑判断。
expression:表达式。媒体特征的匹配与否。
media_type:媒体的种类。包括了很多。
media_feature:媒体的特征。常用的是 min-width max-width 最小最大宽度的判断。

DEMO(推荐在Chrome或者FIREFOX下打开,打开后,按快捷键“CTRL”+”+”,“CTRL”+”-”来缩放页面):

CSS代码

body{background:blue;} /*宽度500px-800px之间+高度100px-400px之间 蓝色*/  @media screen and (max-width:500px){body{background:green;}} /*宽度小于500px时 绿色*/ @media screen and (min-width:800px){body{background:red;}} /*宽度大于800px时 红色*/  @media screen and (max-height:100px){body{background:yellow;}} /*高度小于100px时 黄色*/ @media screen and (min-height:400px){body{background:pink;}} /*高度大于400px时 粉色*/

HTML代码

效果演示,请缩小/扩大浏览器的窗口大小注意背景色的变化。逻辑如下:

/*宽度500px-800px之间+高度100px-400px之间 蓝色*/

/*宽度小于500px时 绿色*/

/*宽度大于800px时 红色*/

/*高度小于100px时 黄色*/

/*高度大于400px时 粉色*/

demo演示地址:http://www.zjgsq.com/example?pid=1180

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:自适应网页设计(Responsive Web Design) | ·下一条:值得收藏的14款响应式前端开发框架

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有