媒体查询

媒体查询–基础

  1. 什么是媒体查询 media query
@media screen and (min-width: 900px) {
	body {
		background-color: red;
	}
}
  1. 为什么需要媒体查询
    一套样式不可能适应各种大小的屏幕
    针对不同的屏幕大小写样式
    让我们的页面在不同大小的屏幕上都能正常显示

  2. 媒体类型
    all(default)
    screen / print / speech

@media (min-width: 900px) {
	body {
		background-color: red;
	}
}
@media print and (min-width: 900px) {
	body{
		background-color: red;
	}
}
  1. 媒体查询中的逻辑
    与 (and)
    或 (,)
    非(not)
@media screen and (min-width: 900px) and (max-width: 1024px) {
	body {
		background-color: red;
	}
}
@media screen and (min-width: 1024px), screen and (max-width: 900px) {
	body {
		background-color: red;
	}
}
// 这里的 not 是对 screen and (min-width: 900px) and (max-width: 1024px) 全部取反
@media not screen and (min-width: 900px) and (max-width: 1024px) {
	body {
		background-color: red;
	}
}
// 这里的 not 是对 screen and (min-width: 1024px) 取反的,“逗号”为中间的分隔
@media not screen and (min-width: 1024px), screen and (max-width: 900px) {
	body{
		background-color: red;
	}
}
  1. 媒体特征表达式
    常用
    width / max-width / min-width
    -webkit-device-pixel-ratio / -webkit-max-device-pixel-ratio / -webkit-min-pixel-ratio
    orientation: landscape(横屏) / portrait(竖屏)
    不常用
    height
    device-width / device-height 和 js 中 screen.width / screen.height 相同,不确定返回的是视口宽高还是物理像素的宽高
    aspect-ratio 视口的宽高比

媒体查询–策略

断点
断点怎么来的
改变屏幕大小,当页面显示不正常的时候,你就需要设置断点了
经验值
预设一些

@media (max-width: 576px) {
	.col {
		width: 100%;
	}
}
@media (min-width: 577px) and (max-width: 768px) {
	.col {
		width: 50%;
	}
}
@media (min-width: 769px) and (max-width: 992px) {
	.col {
		width: 25%;
	}
}
@media (min-width: 993px) and (max-width: 1200px) {
	.col {
		width: 16.66666667%;
	}
}
@media (min-width: 1201px) {
	.col {
		width: 8.33333333333%;
	}
}
  1. pc first
.col {
	width: 8.333333333%;
}
@media (max-width: 1200px) {
	.col {
		width: 16.66666666667%;
	}
}
@media (max-width: 992px) {
	.col {
		width: 25%;
	}
}
@media (max-width: 768px) {
	.col {
		width: 50%;
	}
}
@media (max-width: 576px) {
	.col {
		width: 100%;
	}
}
  1. mobile first
.col {
	width: 100%;
}
@media (min-width: 577px) {
	.col {
		width: 50%;
	}
}
@media (min-width: 769px) {
	.col {
		width: 25%;
	}
}
@media (min-width: 993px) {
	.col {
		width: 16.666666666667%;
	}
}
@media (min-width: 1201px) {
	.col {
		width: 8.33333333333%;
	}
}

通常我们都采用 mobile first 策略

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值