CSS3_响应式布局
1、媒体样式
在不同媒体上显示不同的样式。
常用阈值:
- 小于768px:小屏幕;
- 768px-992px:中等屏幕;
- 992px-1200px:大屏幕;
- 大于1200px:超大屏幕。
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>查询媒体类型</title><style>h1 {width: 300px;height: 300px;line-height: 300px;background-image: linear-gradient(30deg, red, yellow, green);margin: 0 auto;text-align: center;font-size: 30px;color: white;text-shadow: 0 0 10px black;}/* 只有在打印机上才应用的样式 */@media print {h1 {background: transparent;}}/* 只有在屏幕上才应用的样式 */@media screen {h1 {font-family: "Forte";}}/* 在所有情况下都使用的字体 */@media all {h1 {font-family: "Forte";}}</style>
</head><body><h1>测试文本</h1>
</body></html>
2、媒体特性
根据媒体视口的大小和媒体宽度进行样式的变化。
- width:检测视口宽度;
- max-width:检测视口最大宽度;
- min-width:检测视口最小宽度;
- height:检测视口高度;
- max-height:检测视口最大高度;
- min-height:检测视口最小宽度;
- device-width:检测屏幕的宽度;
- max-device-width:检测屏幕的最大宽度;
- min-device-width:检测屏幕的最小宽度;
- orientation:检测视口的旋转方向
- portrait:视口处于纵向,高度大于宽度;
- landscape:视口处于横向,宽度大于高度。
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>媒体类型</title><style>div {background-color: aqua;height: 200px;line-height: 200px;text-align: center;font-size: 50px;}/* 视口宽度小于700px的时候背景设置为黄色 */@media (max-width:700px) {div {background-color: yellow;}}/* 视口宽度大于900px的时候背景设置为蓝色 */@media (min-width:900px) {div {background-color: blue;}}/* 视口宽度为500px的时候背景设置为红色 */@media (width:500px) {div {background-color: red;}}/* 只有设备宽度为2560px(因为2560缩放了1.25倍)时,才会生效 */@media (device-width:2048px) {div {background-color: black;}}</style>
</head><body><div><p>示例文本</p></div>
</body></html>
3、运算符
可以通过运算符将媒体特性联系在一起:
- and:并且;
- , 或者 or:或;
- not:否定;
- only:肯定。
<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>运算符</title><style>div {height: 300px;background-color: antiquewhite;}@media (min-width:600px) and (max-width:800px) {div {background-color: aqua;}}</style>
</head><body><div></div>
</body></html>