博客列表 >1216 状态伪类、css优先级提权、字体和字体图标、盒模型常用属性

1216 状态伪类、css优先级提权、字体和字体图标、盒模型常用属性

待伊散落尽芳华
待伊散落尽芳华原创
2020年12月17日 18:24:30617浏览

1216 状态伪类、css优先级提权、字体和字体图标、盒模型常用属性

1. 状态伪类

  1. <head>
  2. <style>
  3. /* 链接的四种状态,按照顺序执行 */
  4. /* 默认状态,未点击 */
  5. a:link {
  6. color: red;
  7. }
  8. /* 已访问状态 */
  9. a:visited {
  10. color: red;
  11. }
  12. /* 鼠标悬停状态 */
  13. a: hover{
  14. color: red;
  15. }
  16. /* 激活状态:当鼠标点击按下时 */
  17. a:active {
  18. color: red;
  19. }
  20. /* ------------------------------------------- */
  21. input:read-only {
  22. background-color: yellow;
  23. }
  24. input:required {
  25. background-color: lightgreen;
  26. }
  27. input:disabled {
  28. background-color: #eee;
  29. }
  30. input:focus {
  31. background-color: red;
  32. }
  33. </style>
  34. </head>
  35. <body>
  36. <a herf="#">点击链接</a>
  37. <form action="">
  38. <p>用户名:<input type="text" name="" value="admin" readonly autofocus></p>
  39. <p>邮箱:<input type="email" name="" value="" required></p>
  40. <p>密码:<input type="password" name="" value="123456" disabled></p>
  41. <p><button>提交</button></p>
  42. </form>
  43. </body>

2.css提权

选择器优先级规则:

  1. 当选择器相同的时,与书写顺序有关,后面的样式覆盖前面的
  2. 当选择器不同时,与优先级相关,级别高的覆盖级别低
  3. 优先级排序:id > class > tag
  4. !important: 不是选择器

权重计算公式:
[id选择器的数量, class选择器的数量, tag选择器的数量]

  1. <style>
  2. /* [0,0,1] */
  3. h1 {
  4. color:red;
  5. }
  6. /* [0,0,2] */
  7. div h1 {
  8. color:red;
  9. }
  10. /* [0,1,0] */
  11. .b1 {
  12. color:red;
  13. }
  14. /* [0,2,0] */
  15. .b1.b2 {
  16. color:red;
  17. }
  18. /* [1,0,0] */
  19. #a1 {
  20. color:red;
  21. }
  22. /* [2,0,0] */
  23. #a1#a2 {
  24. color:red;
  25. }
  26. /* [2,2,3] */
  27. body div#a2.b2 h1#a1.b1 {
  28. color:red;
  29. }
  30. </style>
  31. <body>
  32. <div id='a2' class='b2'>
  33. <h1 id='a1' class='b1'>hello world!</h1>
  34. </div>
  35. </body>

3.字体和字体图标

步骤:

  1. 进入www.iconfont.cn阿里巴巴矢量图标网

  2. 下载图标素材

  3. 放入项目中,并引入

  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>index</title>
  7. <link rel="stylesheet" href="icon-font/iconfont.css">
  8. <style>
  9. @font-face {
  10. font-family: 'iconfont';
  11. src: url('icon-font/iconfont.eot');
  12. src: url('icon-font/iconfont.eot?#iefix') format('embedded-opentype'),
  13. url('icon-font/iconfont.woff2') format('woff2'),
  14. url('icon-font/iconfont.woff') format('woff'),
  15. url('icon-font/iconfont.ttf') format('truetype'),
  16. url('icon-font/iconfont.svg#iconfont') format('svg');
  17. }
  18. .iconfont {
  19. font-family: "iconfont" !important;
  20. font-size: 38px;
  21. color: skyblue;
  22. font-style: normal;
  23. -webkit-font-smoothing: antialiased;
  24. -moz-osx-font-smoothing: grayscale;
  25. }
  26. .iconfont.icon-xiangmu {
  27. color: blue;
  28. font-size: 100px;
  29. }
  30. </style>
  31. </head>
  32. <body>
  33. <span class="iconfont icon-xiangmu"></span>
  34. </body>
  35. </html>

演示结果


3.盒模型

盒模型:
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

margin边距/外边距:指元素与相邻同级元素的距离
border边框:指元素显示边界
padding填充/内边距:指元素内容与边框的距离
内容:显示的文本和图像等

  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>盒模型的属性缩写</title>
  7. <style>
  8. .box {
  9. width: 200px;
  10. height: 200px;
  11. background-color: lightgreen;
  12. box-sizing: border-box;
  13. }
  14. .box {
  15. /* 边框 */
  16. /* 每个边框可以设置三个属性: 宽度,样式,颜色 */
  17. /* border-top-width: 5px;
  18. border-top-color: red;
  19. border-top-style: solid; */
  20. /* border-top: 5px red solid; */
  21. border-top: rgb(255, 0, 255) solid 5px;
  22. border-bottom: 10px red dashed;
  23. border: 5px solid #000;
  24. }
  25. .box {
  26. /* 内边距 */
  27. /* padding: 上 右 下 左; 按顺时针方向*/
  28. padding: 5px 10px 15px 20px;
  29. /* 页面看不到是因为padding是透明的,且背景色会自动扩展到padding */
  30. /* 将背景色裁切到到内容区 */
  31. background-clip: content-box;
  32. /* 当左右相等,而上下不相等,使用三值语法 */
  33. padding: 10px 20px 15px;
  34. /* 当左右相等,上下也相等,使用二值语法 */
  35. padding: 10px 30px;
  36. /* 如果四个方向全相等,使用单值语法 */
  37. padding: 10px;
  38. /* 总结,当使用三值和二值时,只需要记住第二个永远表示左右就可以了 */
  39. }
  40. .box {
  41. /* 外边距:控制多个盒子之间的排列间距 */
  42. /* 四值,顺时针,上右下左 */
  43. margin: 5px 8px 10px 15px;
  44. /* 三值,左右相等,上下不等 */
  45. margin: 10px 30px 15px;
  46. /* 二值,左右相等,上下也相等 */
  47. margin: 10px 15px;
  48. /* 单值,四个方向全相等 */
  49. margin: 8px;
  50. }
  51. </style>
  52. </head>
  53. <body>
  54. <div class="box"></div>
  55. </body>
  56. </html>

效果演示:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议