媒体查询的基本用法

媒体获取

基本定义

1.使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。

	//语法
    <style>
        @media mediatype and|not|only (media feature) {
            CSS-Code;
        }
    </style>

mediatype:媒体类型,包含(all,print,screen,speech)
1.all–所有设备
2.print–打印机和打印预览
3.screen–电脑屏幕,平板电脑,智能手机等
4.屏幕阅读器等发声设备
广泛使用的是all和screen

        <style>
        	//使用screen媒体类型
	        @media screen {
	            body{
	                background-color: antiquewhite;
	            }
	        }
        </style>

media feature:媒体功能,如:width:屏幕可见宽度;max-height:页面最大可见区域高度等
详见 css媒体查询–媒体功能

    <style>
    	//小于等于300px时生效
        @media (max-width:300px) {
            body {
                background-color: antiquewhite;
            }
        }
    </style>

and | not | only :逻辑操作符,可以用来构建复杂的媒体查询
1.all–用来把多个媒体属性组合起来,合并到同一条媒体查询中。只有当每个属性都为真时,这条查询的结果才为真。在不使用not或only操作符的情况下,媒体类型是可选的,默认为all。
2.not–用来对一条媒体查询的结果进行取反
3.only–表示仅在媒体查询匹配成功时应用指定样式

		//使用and逻辑操作符。横屏和最小宽度为700px时生效。
        <style>
			@media (min-width: 700px) and (orientation: landscape) {
					body {
						background-color: antiquewhite;
					}
			 }
         </style>

		 //使用not逻辑操作符,只有在大于300px时生效
	    <style>
	        @media only screen and(max-width:300px) {
	            body { 
	                background-color: antiquewhite;
	            }
	        }
	    </style>
         
         //使用only逻辑操作符,只有在小于等于300px时生效
	    <style>
	        @media only screen and(max-width:300px) {
	            body { 
	                background-color: antiquewhite;
	            }
	        }
	    </style>

2.@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面,@media 是非常有用的。

    <style>
    	//页面宽度小于等于300px时,背景变蓝色。
        @media screen and (max-width: 300px) {
            body {
                background-color: blue;
            }
        }
        //页面宽度大于等于500px时,背景变红色。
        @media screen and (min-width: 500px) {
            body {
                background-color: red;
            }
        }
    </style>

通过获取页面宽度,从而改变页面样式及布局,来达到响应式效果。

3.重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

使用方法

1.引入cs文件

   //通过mdeia指定媒体类型来实现区别引入css文件
    <link rel="stylesheet" href="./css/index.css" media="screen">
    
    //通过mdeia指定媒体类型及条件来区别引入css文件
    <link rel="stylesheet" href="./css/index.css" media="screen and (min-width:300px)">

2.style内联样式media指定媒体类型

	//通过mdeia指定媒体类型来实现区别当前style是否生效
    <style media="screen">
        body{
            background-color: antiquewhite;
        }
    </style>
    
   //通过mdeia指定媒体类型及条件来实现区别当前style是否生效
    <style media="screen and (max-width: 300px)">
        body{
            background-color: antiquewhite;
        }
    </style>

3.style内通过@media实现

        //指定媒体类型下的{}内样式生效
        <style>
	        @media screen {
	            body{
	                background-color: antiquewhite;
	            }
	        }
        </style>
        
		//只在IE8下生效
		<style>
			@media \0screen {body { background: red; }}
		</style>

此方法多用于浏览器兼容时使用

参考文档

  • 21
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值