博主信息
Lon
博文
22
粉丝
0
评论
0
访问量
2533
积分:0
P豆:48

CSS3 媒体(@media)查询简介

2021年09月24日 15:50:16阅读数:139博客 / Lon/ CSS

CSS3 媒体(@media)查询简介

一、定义和使用

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

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

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

二、CSS 语法

  1. @media mediatype and|not|only (media feature) {
  2. CSS-Code;
  3. }

媒体类型
all:适用于所有设备。
print:适用于在打印预览模式下在屏幕上查看的分页材料和文档。
screen:主要适用于屏幕。
speech:主要适用于语音合成器

真正广泛使用且所有浏览器都兼容的媒介类型是’screen’和’all’

三、媒体属性

媒体属性是CSS3新增的内容,多数媒体属性带有“min-”和“max-”前缀,用于表达“小于等于”和“大于等于”。

常用的媒体属性

  1. width | min-width | max-width /*定义输出设备中的页面可见区域宽度。 | 最小可见区域宽度 | 最大可见区域宽度*/
  2. height | min-height | max-height /*定义输出设备中的页面可见区域高度。| 最小可见区域高度 | 最大可见区域高度*/

四、实例(不同可见区域下变化背景颜色)

  1. <style>
  2. @media screen and (min-width:320px){
  3. body{
  4. background-color:pink;
  5. }
  6. }
  7. @media screen and (min-width:480px){
  8. body{
  9. background-color: aqua;
  10. }
  11. }
  12. @media screen and (min-width:750px){
  13. body{
  14. background-color: violet;
  15. }
  16. }
  17. @media screen and (min-width:967px){
  18. body{
  19. background-color: green;
  20. }
  21. }
  22. @media screen and (min-width:1200px){
  23. body{
  24. background-color: red;
  25. }
  26. }
  27. </style>

CSS 单位

CSS 有几个不同的单位用于表示长度。

一些设置 CSS 长度的属性有 width, margin, padding, font-size, border-width, 等。

长度有一个数字和单位组成如 10px, 2em, 等。

数字与单位之间不能出现空格。如果长度值为 0,则可以省略单位。

对于一些 CSS 属性,长度可以是负数。

有两种类型的长度单位:相对和绝对。

一、相对长度单位

相对长度单位指定了一个长度相对于另一个长度的属性,比如父元素的字体大小,或者视图端口的大小。对于不同的设备相对长度更适用。

单位 相对于
em 在 font-size 中使用是相对于父元素的字体大小,在其他属性中使用是相对于自身的字体大小,如 width
ex 字符“x”的高度
ch 数字“0”的宽度
rem rem 是根 em(root em)的缩写,rem作用于非根元素时,相对于根元素字体大小;rem作用于根元素字体大小时,相对于其出初始字体大小。
lh 元素的line-height
vw 视窗宽度的1%
vh 视窗高度的1%
vmin 视窗较小尺寸的1%
vmax 视图大尺寸的1%

二、绝对长度单位

绝对长度单位是一个固定的值,它反应一个真实的物理尺寸。绝对长度单位视输出介质而定,不依赖于环境(显示器、分辨率、操作系统等)。

单位 名称 等价换算
cm 厘米 1cm = 96px/2.54
mm 毫米 1mm = 1/10th of 1cm
Q 四分之一毫米 1Q = 1/40th of 1cm
in 英寸 1in = 2.54cm = 96px
pc 十二点活字 1pc = 1/16th of 1in
pt 1pt = 1/72th of 1in
px 像素 1px = 1/96th of 1in

三、常用单位实例

em单位

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. body{
  10. /* 改变body字体大小,div大小跟着变化 */
  11. font-size: 10px;
  12. }
  13. .box{
  14. /* 它是描述相对于应用在当前元素的字体尺寸,所以它也是相对长度单位。
  15. 一般浏览器字体大小默认为16px,则10em == 160px;*/
  16. width: 10em;
  17. height: 10em;
  18. background-color: aqua;
  19. /* em永远和当前或父级的font-size大小绑定的 */
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="box"></div>
  25. </body>
  26. </html>

rem单位

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. :root{
  10. /* 改变根元素的字体大小,div大小跟着变化 */
  11. font-size: 10px;
  12. }
  13. .box{
  14. /* rem 是根 em(root em)的缩写,rem作用于非根元素时,相对于根元素字体大小;
  15. rem作用于根元素字体大小时,相对于其出初始字体大小。 */
  16. width: 10rem;
  17. height: 10rem;
  18. background-color: violet;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <div class="box"></div>
  24. </body>
  25. </html>

vw/vh单位

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box {
  10. /* 盒子宽度永远是视口的五分之一: 20% */
  11. width: 20vw;
  12. /* 高度永远是视口高度的10% */
  13. height: 10vh;
  14. background-color: skyblue;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <div class="box"></div>
  20. </body>
  21. </html>

实例

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. html {
  10. font-size: 10px;
  11. }
  12. /* 基本样式 */
  13. .btn {
  14. background-color: seagreen;
  15. color: white;
  16. border: none;
  17. outline: none;
  18. }
  19. .btn:hover {
  20. cursor: pointer;
  21. opacity: 0.8;
  22. transition: 0.3s;
  23. }
  24. /* 小按钮 */
  25. .btn.small {
  26. font-size: 1.2rem;
  27. padding: 0.4rem 0.8rem;
  28. border-radius: 5px;
  29. }
  30. /* 中按钮 */
  31. .btn.middle {
  32. font-size: 1.6rem;
  33. padding: 0.4rem 0.8rem;
  34. border-radius: 5px;
  35. }
  36. /* 大按钮 */
  37. .btn.large {
  38. font-size: 1.8rem;
  39. padding: 0.4rem 0.8rem;
  40. border-radius: 5px;
  41. }
  42. /* 移动优先,从最小的屏幕开始进行媒体查询 */
  43. @media screen and (min-width:320px) {
  44. html{
  45. font-size: 10px;
  46. }
  47. body {
  48. background-color: pink;
  49. }
  50. }
  51. @media screen and (min-width:750px) {
  52. html{
  53. font-size: 14px;
  54. }
  55. body {
  56. background-color: violet;
  57. }
  58. }
  59. @media screen and (min-width:1200px) {
  60. html{
  61. font-size: 18px;
  62. }
  63. body {
  64. background-color: red;
  65. }
  66. }
  67. </style>
  68. </head>
  69. <body>
  70. <div class="box">
  71. <button class="btn small">按钮1</button>
  72. <button class="btn middle">按钮2</button>
  73. <button class="btn large">按钮3</button>
  74. </div>
  75. </body>
  76. </html>

版权申明:本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!

全部评论

文明上网理性发言,请遵守新闻评论服务协议

条评论
  • 一说到响应式设计,肯定离不开media。一般认为CSS3的新增内容,实际上CSS2已经存在了,CSS3新增了属性和使用场景(IE8-浏览器不支持)。本文将详细的内容。
    的语法组成是“@media not|only mediatype and (expressions) {CSS代码...;}”;可由多种组成,可以包含一个或多个表达式,表达式根据条件是否成立返回
    html教程:本文为大家绍了的相关知识,具有一定的参考价值,希望可以帮助到大家。
    bootstrap是支持Internet Explorer8的,然而很多CSS3属性和HTML5元素--例如,圆角矩形和投影--是不被支持的。
    css设置div随着窗口大小变换的方法:首先新建一个div,并设置初始化样式;然后给div添加transition;接着添加css3;最后改变窗口大小看效果即可。
    不同:css3是css技术的升级版本,css3中添加了一些新属性和选择器,可以更好更方便的进行网站的开发,例如圆角、阴影、渐变、、“:root”选择器等。
    CSS3的新特征有:1、圆角效果;2、图形化边界;3、块阴影与文字阴影;4、使用RGBA实现透明效果;5、渐变效果;6、使用“@Font-Face”实现定制字;7、多背景图;8、文字或图像的变形处理;