em,rem的原理

em与rem
1.em是浏览器文本的默认字号,通常是16px
2.em是个相对长度单位,这个单位表示元素的 font-size 的计算值,继承父级元素的字号大小
设置盒模型响应式属性
3.rem这个单位代表根元素(通常为<html> 元素)的 font-size 大小,相对固定一些,根元素的字号大小不变时,它可以看成一个常量;
4.rem取的html字号;em取得父级字号
5.边框不能用em或者rem,要用px

响应式按钮应用

  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>em制作一组响应式按钮组件</title>
  7. <style>
  8. .btn {
  9. background-color: deepskyblue;
  10. color: #fff;
  11. /* 去掉边框 */
  12. border: none;
  13. /* 去掉轮廓线 */
  14. outline: none;
  15. padding: 0.5em 1em;
  16. /* 边框圆角 */
  17. border-radius: 0.3em;
  18. }
  19. .btn:hover {
  20. /* 透明度 */
  21. opacity: 0.8;
  22. /* 将鼠标设置为手型 */
  23. cursor: pointer;
  24. /* 阴影效果 */
  25. box-shadow: 0 0 3px #888;
  26. transition: 0.3s;
  27. }
  28. .small {
  29. font-size: 10px;
  30. }
  31. .normal {
  32. font-size: 16px;
  33. }
  34. .larger {
  35. font-size: 22px;
  36. }
  37. </style>
  38. </head>
  39. <body>
  40. <button class="btn small">Button</button>
  41. <button class="btn normal">Button</button>
  42. <button class="btn larger">Button</button>
  43. </body>
  44. </html>

rem应用

因em: 动态性和继承性,但是也有缺点
我们非常的需要一个固定值的em,它不应该随着它自身和祖先元素的字号大小而变动
而用rem就可以解决掉, rem就是一个固定值的em
html在一个页面中它是唯一的且是最大的包含块,也叫根元素
所以,在html中定义的em大小,可看成一个常量(固定的值)
此时,我们用一个新的关键字rem来引用根元素中的字号大小font-size的值
以后的字号,强烈推荐使用rem设置,元素用em设置
注意: 边框不能用em或者rem,要用px

  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. <title>rem定义</title>
  7. <style>
  8. html{
  9. font-size: 1.25em;
  10. }
  11. h2{
  12. font-size: 1.5rem;
  13. }
  14. h2 span{
  15. font-size: 1rem;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <h2><span>php.cn</span></h2>
  21. </body>
  22. </html>

vh 与 vw

视口: “可视窗口”,浏览器窗口中用于显示文档的可视区域
vh: 视口的”初始包含块”的高度的百分之一(1/100)
vw: 视口的”初始包含块”的宽度的百分之一(1/100)
初始包含块: 目前 可以简单的理解为”html”
这个主要用于移动端布局
vmin和vmax可以用来指定视口高度 vw 和宽度 vh 两者之间的最小值和最大值。

总结:
em,rem,vh,vw都是相对值,不是绝对值;
em是相对于父元素的字体大小,
rem是相对于根元素的字体大小,
vh是相对于视口高度的百分比,
vw是相对于视口的宽度百分比,
vmax限定元素的视口宽度和高度的最大值,
vmin限定元素的视口宽度和高度的最小值。

更多相关文章

  1. CSS盒模型以及CSS定位
  2. java集合【9】——— ArrayList源码分析
  3. 请用Python手写实现插入排序
  4. Selenium3自动化测试【16】元素定位之Tag
  5. 323作业
  6. 210323 CSS 盒子模型 字体图标 定位
  7. 【CSS入门】理解css中min-width和max-width,width与它们之间的区
  8. box-sizing
  9. 0323作业-CSS盒模型、CSS相对定位和绝对定位及块元素垂直居中

随机推荐

  1. 收款神器!解读聚合收款码背后的原理|原创
  2. LoRa基站网关-室外型
  3. python入门教程12-04 (python语法入门之进
  4. Redhat Openshift 4.6 单机版安装指南(1)
  5. Angular v8 发布!来看看有什么新功能[每日
  6. 快取,陣列,程式,这些台湾的计算机术语,你知道
  7. RPC框架实践之:Google gRPC
  8. 手机没网了,却还能支付,这是什么原理?|原创
  9. 用CSS Grid Shepherd技术对数据进行排序[
  10. Nginx服务器开箱体验