CSS3中@Media Queries与自适应布局

1、Media Queries模块:是CSS3中一个和各种媒体相关的重要模块;

2、Media Queries的使用方法:

(1)@media 设备类型 and (设备特征){样式代码};,在样式代码开头必须写上@media,然后制定设备的类型(媒体类型);

(2)可以指定的值与其代表的设备类型如下表:

取值代表的设备
all所有设备
screen电脑显示器
print打印用纸或者打印预览图
handheld便携设备
tv电视机类型设备
speech语音和音频合成器
braille盲人用点字法触觉回馈设备
embossed盲文打印机
projection各种投影设备
tty使用固定密度字母栅格的媒介
设备特征的书写方式与样式的书写方式很类似,分为两个部分,当中有冒号分分隔,冒号前书写设备的某种特征,冒号后书写该特征的具体值。例如,需要指定浏览器的窗口宽度大于400px时,书写成(min-width:400px),大部分设备特征的指定值接受min/max的前缀用来表示大于等于或小于等于的逻辑,以此来避免使用<和>字符;

(3)13种设备的特征说明:

特效可指定的值是否允许使用min/max前缀特性说明
width带单位的长度数值允许浏览器的窗口宽度
height带单位的长度数值允许浏览器的窗口高度
device-width带单位的长度数值允许设备屏幕的分辨值
device-height带单位的长度数值允许设备屏幕分辨率的最高值
orientation只能指定2个值(padding或landscape)不允许浏览器的方向是纵向还是横向,当浏览器的高度值大于等于浏览器的宽度值的时
候,这个特性为portrait否则为landscape
aspect-ratio比例值允许浏览器窗口的纵横比,比例值为浏览器窗口的宽度值/高度值
device-aspect-ratio比例值允许屏幕分辨率的纵横比,比例值为设备分辨率的宽度值/高度值
color整数值允许设备使用多少位的颜色值,如果不是彩色设备,该值为0
color-index整数值允许色彩表中的色彩数
monochrome整数值允许单色帧缓冲器中每像素的字节数
resolution分辨率值允许设备的分辨率
scan只能指定两个值(progressive或interlace)不允许电视机类型设备的扫描方式。progressive表示逐行扫描,interlace表示隔行扫描
grid只能指定两个值(0或1)不允许设备是基于栅格还是基于位图。基于栅格时该值为1,否则该值为0

3、Media Queries的应用:

(1)HTML代码:

<div class="content">
	<div class="left">left</div>
	<div class="center">center</div>
	<div class="right">right</div>
</div>

(2)CSS代码:

.content{
	margin: 30px auto;
}
.content>div{
	height: 600px;
	font-size: 32px;
	font-weight: bold;
	color: white;
	text-align: center;
	line-height: 600px;
}
.left{
	float: left;
	background-color: lightblue;
}
.center{
	float: left;
	margin-left: 50px;
	background-color: lightcoral;
}
.right{
	float: right;
	background-color: lightgreen;
}


@media screen and (min-width: 1000px) {
	.content{
		width: 1000px;
	}
	.left{
		width: 265px;
	}
	.center{
		width: 370px;
	}
	.right{
		width: 265px;
	}
}

@media screen and (min-width: 640px) and (max-width:999px) {
	.content{
		width: 640px;
	}
	.left{
		width: 245px;
	}
	.center{
		width: 345px;
	}
	.content .right{
		width: 100%;
		height: 240px;
		line-height: 240px;
		clear: both;
		margin-top: 50px;
	}
}

@media screen and (max-width:639px) {
	.content{
		width: 100%;
	}
	.content>div{
		width: 100%;
		height: 240px;
		line-height: 240px;
		margin-bottom: 30px;
	}
	.center{
		margin-left: 0px;
	}
}

(3)效果图如下:

1)当浏览器窗口的宽度大于等于1000px(min-width: 1000px)时的效果图:


2)当浏览器窗口的宽度大于等于640px且小于1000px(min-width: 640px) and (max-width:999px)时的效果图:


3)当浏览器窗口的宽度小于等于639px(max-width:639px)时的效果图:


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值