优先级:不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器的样式

优先级公式:!imporant>行内样式>id选择器>类选择器>标签选择器>通配符选择器>继承>浏览器默认样式(选中范围越广,优先级越低)

!imporant不要给继承的加,自己有样式,无法继承父级样式
权重叠加计算(0(行内),0(id),0(类),0(标签))
    /* (行内, id, 类, 标签) */
    /* !important 最高 */
    /* 继承: 最低 */
盒子模型:(1)内容的宽度和高度(利用width和height 属性默认设置是盒子内容区域的大小)【属性:width/height  取值: 数字+px】
     (2)边框(border-连写形式(复合属性)   如:border: 1px solid red)(bd+tab)(只要一个方向的边框border-方位词)
布局顺序:从外往内,从上往下
每个盒子的样式:(1)宽高 (2)辅助的背景颜色 (3)盒子模型的部分:border、padding、margin(4)其他样式:color、font、text-......
       (3)内边距(padding)设置 边框 与 内容区域 之间的距离(内边距(padding)-单方向设置   padding -方位名词)
     取值        示例          含义
      一个值      padding: 10px;    上右下左都设置为10px
      两个值    padding: 10px 20px;     上下设置为10px,左右设置为20px
      三个值  padding: 10px 20px 30px;      上设置为10px,左右设置为20px,下设置为30px
      四个值     padding: 10px 20px 30px 40px;  上设置为10px,右设置为20px,下设置为30px,左设置为40px
 /* 内减模式 */
/* 变成css3的盒子模型,好处:加了border和padding不需要手动减法 */
box-sizing: border-box;
     (4)外边距(margin)设置边框以外,盒子与盒子之间的距离(外边距(margin)-单方向设置   margin -方位名词)
     取值        示例          含义
      一个值      margin: 10px;    上右下左都设置为10px
      两个值    margin: 10px 20px;     上下设置为10px,左右设置为20px
      三个值  margin: 10px 20px 30px;      上设置为10px,左右设置为20px,下设置为30px
      四个值     margin: 10px 20px 30px 40px;  上设置为10px,右设置为20px,下设置为30px,左设置为40px
记忆规则:多值写法:永远都是从上开始顺时针转一圈,如果数不够,看对面
清除默认内外边距
    * {
      margin: 0;
      padding: 0;
    }
/* 去掉列表的符号 */
    ul {
      list-style: none;
    }
  <!-- 布局顺序:从外到内先宽高背景色,放内容,调节内容的位置,控制文字细节 -->
外边距折叠现象——(1)合并现象:垂直布局的块级元素,上下margin会合并(最终两者距离为margin最大值)解决办法:避免就好,只给一个盒子设置margin即可
         (2)塌陷现象:互相嵌套的块级元素,子元素的margin-top会作用在父元素上,导致父元素一起向下移动

 解决方法:
1. 给父元素设置border-top 或者 padding-top(分隔父子元素的margin-top)
2. 给父元素设置overflow:hidden
3. 转换成行内块元素
4. 设置浮动
  <!-- 行内元素 内外边距:margin padding -->
  <!-- 如果想要通过margin和padding改变行内标签的垂直位置,无法生效 -->
  <!-- 行内标签的margin-top和bottom不生效 -->
  <!-- 行内标签的padding-top和bottom不生效 -->
如果需要给垂直方向加边距 可以使用line-height

随机推荐

  1. redis底层数据结构之快速列表(quicklist)

    快速列表(quicklist) redis3 .2版本之前,List类型数据使用的底层数据结构是压缩列表(ziplist)或双向链表(linkedlist),当列表元素个数比较少并且每个元素占用空间比 ...

  2. 跨平台Docker篇

    前言 总结自 老张的哲学b站视频[10分钟学会Blog.Core(ASP.NETCORE)基本完结]https://www.bilibili.com/video/BV1vC4y1p7Za?vd_sou ...

  3. unity3D mirror网络游戏开发笔记

    最近想开发一款多人在线网络游戏,使用unity3d的mirror插件可以提高开发效率,并且该插件免费. 但是由于使用插件开发效率太低,经过研究,ummorpg开发模板是居于该插件开发而来,使用它可以提 ...

  4. 常用得cron表达式

    0 10 0 1 * ? //每月1号的0:10:00执行 0 01 00 28-31 * ? #月底最后一天早上凌晨1点执行 异常: 查询是否有特殊字符: cat -A ***.sh 解决方法: 1 ...

  5. js 俄罗斯方块 canvas

    俄罗斯方块背景- canvans 第一次写不知道说些什么好,直接上代码了@_@... jquery引入 <script src="https://cdn.bootcdn.net/aja ...

  6. JavaScript基础知识整理(引用类型-Function)

    Function Function类型实际上是对象,每个函数都是Function类型的实例,自然也就具有属性和方法. 定义函数通常有三种方式 使用函数声明 function sum(num1,num2 ...

  7. 软件工程日报九——SQLite的安装与配置

    安卓stuio的数据库连接需要SQLite,现在进行安装与配置 一进官网下载sqlite-dll-win32-x86.zip和sqlite-tools-win32-x86.zip 二.在下载目录进行解 ...

  8. VUE3+VITE 常见问题解决

    reactive解构最深的一层,失去响应性问题 pinia创建的store,使用结构失去响应性 reactive包裹后的对象 重新赋值失去响应性 无法动态引入图片 在computed中传参数 vue3 ...

  9. (0709) Linux-命令(scp,tar) zip

    (1) scp .bashrc root@192.168.1.6:vnc://cfy-hp-notebook-pc.local (2) tar -czvf a.tar.gz b            ...

  10. ubuntu 的 apt 命令

    工作原理 apt 全称 advanced packaging tool 是 ubuntu 下的包管理工具 apt 采用集中式仓储机制来管理软件,有 软件安装包 和 软件安装列表 两部分完成. 使用 a ...