博客列表 >选择器优先级及属性简写

选择器优先级及属性简写

培(信仰)
培(信仰)原创
2020年12月17日 22:34:38853浏览

css伪类选择器:状态匹配

链接四种状态:顺序是固定的

以链接a元素为例

  1. <a href="https://www.php.cn">>link</a>
  1. 默认状态,没有访问/点击
  1. a:link{
  2. color:blue;
  3. /* 下划线去掉 */
  4. text-decoration: none;
  5. }
  1. 已访问的状态
  1. a:visited{
  2. color:violet;
  3. }
  1. 鼠标悬停的状态
  1. a:hover{
  2. color:red;
  3. text-decoration: underline;
  4. }
  1. 激活,当鼠标点击压下去的时候
  1. a:active{
  2. color:green;
  3. }

以表单为例

  1. <!-- 2.表单 -->
  2. <form action="">
  3. <p>用户名:<input type="text" name="" value="" readonly></p>
  4. <p>邮箱:<input type="email" name="" value="" required></p>
  5. <p>密码:<input type="password" name="" value="123456" disabled></p>
  6. <p><button>提交</button></p>
  7. </form>

通过控件的布尔属性的状态选择

  1. input:read-only{
  2. background-color: violet;
  3. }
  4. input:required{
  5. background-color:yellow;
  6. }
  7. input:disabled{
  8. background-color: #eee ;
  9. }

css选择器的优先级

  1. 当选择器相同时,与书写顺序有关

  2. 选择器不同时与优先级有关,级别高的覆盖级别低的 。
    优先级有公式计算,类似进位,越左边越高 id > class > tag
    [id选择器的数量,class选择器的数量,tag选择器的数量]

    例如:

  1. <h2 class="foo on" id="one">hello world</h2>
  1. [0,0,1]
  2. h2{
  3. color:gold;
  4. }
  5. /* [0,0,2] > [0,0,1] */
  6. [0,0,2]
  7. body h2{
  8. color:green;
  9. }
  10. /* [0,1,1] 权限高于 [0,0,2]也高于[0,0,20000] */
  11. [0,1,1]
  12. h2.on{
  13. color:skyblue;
  14. }
  15. /* [0,1,2] > [0,1,1] */
  16. [0,1,2]
  17. body h2.on{
  18. color:green;
  19. }
  20. /* [1,0,0] 高于 [0,1,2] 也高于 [0,20000,0] */
  21. #one{
  22. color:red;
  23. }

实际工作中,应该用一系列的选择器组合来灵活的设置优先级

注意在开发过程中,如果需要修改样式,尽量增加样式提高优先级来覆盖之前的样式,不要直接修改已有的样式。如果需要还原原来的样式直接删除新增的即可。

图标字体如何设置

  1. 阿里图标字体库 https://www.iconfont.cn/
    选择需要的下载
  2. 解压后将文件放到项目中
  3. 根据demo_index.html提示操作。

需要 注意的是,文件路径一定要修改正确。修改字体属性时一定要增加权限,否则不能生效。

背景图片的设置

  1. body {
  2. /* background-image: url("https://img.php.cn/upload/course/000/000/001/5fbb84ba39b3a182.jpg");
  3. background-repeat: no-repeat;
  4. background-size: 300px;
  5. background-position: top; */
  6. /* 里面有两个值,默认是center,0 0 指的是坐标,通常不会给绝对值。 */
  7. /* 背景裁切 */
  8. /* 有个缩写属性,不分顺序 */
  9. background: url("https://img.php.cn/upload/course/000/000/001/5fbb84ba39b3a182.jpg") no-repeat top;
  10. }

盒模型之属性缩写

  1. <div class="box"></div>
  1. .box{
  2. width: 200px;
  3. height: 300px;
  4. background-color: lightgreen;
  5. box-sizing: border-box;
  6. }
  7. .box {
  8. /* 边框
  9. 每个边框可以设置3个属性:
  10. 宽度,样式,颜色 */
  11. /* border-top-width: 3px;
  12. border-top-color:red;
  13. border-top-style: solid; */
  14. /* 顶边 */
  15. border-top: 5px solid red;
  16. /* 底边 */
  17. border-bottom: 10px solid #000;
  18. /* 四个边设置一样的,开发中比较常见 */
  19. border:5px solid red;
  20. }
  21. .box{
  22. /* 内边距 */
  23. /* padding: 上 右 下 左 ;按顺时针方向; */
  24. padding: 5px 10px 15px 20px;
  25. /* 页面上看不到是因为padding是透明的,且背景色会自动扩展到padding */
  26. /* 将背景色裁切到内容区 */
  27. background-clip:content-box;
  28. /* 当左右相同,而上下不相等,使用三值语法 */
  29. padding: 10px 20px 15px;
  30. /* 当上下相同,左右也相同使用二值语法 */
  31. padding: 10px 30px;
  32. /* 当四个方向都相等时,使用单值语法 */
  33. padding:10px;
  34. /* 当使用三值,二值时,只需要记住第二个永远表示左右 */
  35. }
  36. .box {
  37. /* 外边距:控制多个盒子之前的排列间距 */
  38. /* 四个值的时候,上右下左 */
  39. margin: 5px 8px 10px 12px;
  40. /* 左右相同,用三值语法 */
  41. margin:10px 30px 15px;
  42. /* 上下相同,左右也相同使用二值语法 */
  43. margin:12px 15px;
  44. /* 四边都一样用单值语法 */
  45. margin: 20px;
  46. }

总结

  1. 边框:
    border-top: 5px solid red;
    可以设置四边,粗细,样式,颜色
    简写:
    border:5px solid red;
  2. 内边距
    paddding:四值,三值,二值,单值语法怎么写; 第二个永远表示左右
    注意: 默认padding是透明的,且背景色会自动扩展到padding
  3. 外边距
    margin:四值,三值,二值,单值语法怎么写; 第二个永远表示左右
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议