Blogger Information
Blog 45
fans 0
comment 0
visits 34510
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
rem 、em、vh、 vw
咸鱼老爷
Original
884 people have browsed it

em

em的初始值是用户代理的值 默认是16px

1.什么是em

  1. em是浏览器文本的默认字号的相对关键字,通常是16px
  2. 1em=16px
  3. html font-sizeem的基本像素

2.用在哪?

2.1设置响应式的文本字号
font-size属性是允许被继承的 当前h2 的字号继承自他的祖先元素 body html inherited form html
想改变h2的字号 修改html的字号即可=

  1. ```
  2. <h2>pph.cn</h2>
  3. ```

2.2设置盒模型的属性的响应式;

  1. ```
  2. div{
  3. /*1em为16px */
  4. width:100px;
  5. height:100px;
  6. /*响应式不使用px
  7. 10em=10*16*/
  8. width:10em;
  9. height:10em;
  10. }

3.em/rem定义字号

em的初始值是用户代理的值 默认是16px
html {
font-size: 1.25em;
}
/ 此时1em=20px /
/* em动态性和继承性 但是也有缺点
需要固定值的em 不能随着祖先元素的字号大小变化
用rem可以解决 rem就是一个固定值的em

  1. html根元素 一个页面中它是唯一的且是最大的包含块
  2. 所以在html中定义的em大小,可以看作是一个常量 固定值
  3. 因为rm巨有继承性,此时我们用一个新的关键字来引用根元素中的字号大小的值 rem
  4. */
  5. h2 {
  6. font-size: 1.5rem;
  7. }
  8. span {
  9. font-size: 0.5rem;
  10. }

em实现响应式布局

  1. /* 设置根元素字号 */
  2. html {
  3. /* font-size: 12px; */
  4. font-size: 0.75em;
  5. /* 后面可以直接使用rem来引用12px来定义字号 */
  6. }
  7. .panel {
  8. font-size: 1rem;
  9. /* 此时当前元素中的其他属性 如果用到em就是1rem(12px) */
  10. padding: 1rem;
  11. border-radius: .3rem;
  12. /* 边框不能用em/rem 一定要用px */
  13. border: 1px solid #999;
  14. margin: 2rem 0;
  15. background-color: aquamarine;
  16. }
  17. /* rem用在字号中 除了字号都可以用em*/
  18. .panel h2 {
  19. /* 以后的字号强烈推荐使用rem设置 */
  20. font-size: 1.2rem;
  21. }
  22. .panel p {
  23. font-size: 1.1rem;
  24. text-indent: 2em;
  25. line-height: 1.5;
  26. }
  27. /* 响应式 媒体查询 */
  28. @media screen and (min-width:640px) {
  29. html {
  30. font-size: 0.875em;
  31. }
  32. .panel {
  33. background-color: bisque;
  34. }
  35. }
  36. @media screen and (min-width:1000px) {
  37. html {
  38. font-size: 1em;
  39. }
  40. .panel {
  41. border-right-color: cadetblue;
  42. }
  43. }
  44. @media screen and (min-width:1200px) {
  45. html {
  46. font-size: 1.25em;
  47. }
  48. .panel {
  49. background-color: #ccc;
  50. }
  51. }

视口 vh vw

如何得到一个正方形区块

  1. .box{
  2. width:80vmin;
  3. height:80vmin;
  4. background-color:#cccl
  5. margin:auto;
  6. }
  7. <div class='box'></div>
  1. >css扩展
  2. css预处理器 用js来编译css代码 less sass
  3. css原生变量/自定义属性
  4. body{
  5. --color:#f00;
  6. --active-color:#0f0;
  7. --a-border:1px solid
  8. }
  9. a {
  10. color:var(--color);
  11. }
  12. a:hover{
  13. color:var(--active-color);
  14. border:var(--a-border)
  15. }
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post