css三大特性之优先级

  • 优先级是解决样式冲突的一种能力,优先级高的执行,优先级低的不执行,权重高的优先执行
  • 优先级公式
    • 继承<通配符选择器<标签选择器<类选择器< ID选择器<行内样式<!important
    • 0 0 0,0,0,1 0,0,1,0 0,1,0,0 1,0,0,0 无穷大

      1、 !important写在属性值的后面,分号的前面
      2、 !important不能提升继承的优先级,只要是继承,优先级最低!!

盒子模型的组成

  • 内容区域 : 放内容和子元素的区域(默认是盒子的宽高)
  • 边框
    • 四条边框相同的连写 border:10px soild red
    • 单边框连写: border-top border-bottom border-left border-right
    • border-width 边框粗细
    • border-style 边框样式
      • 实线 soild
      • 虚线 dashed
      • 点线 dotted
  • border-color 颜色取值
  • 内边距 内容区域距边框的距离
    • 单个内边距: padding-top padding-bottom padding-left padding-right
  • 内边距连写
    • padding:40px 上下左右内边距都是40px
    • padding:10px 20px 第一个值是上下内边距 第二个值代表左右内边距20px
    • padding: 20px 50px 100px 写三个值,第一个代表上下内边距,第二个值代表左右内边距,第三个代表下内边距
    • padding: 20px 50px 100px 10px 写4个,代表上右下左 顺时针
  • 外边距: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外边距折叠现象
  • margin的合并现象
    垂直布局的盒子,此时上下的margin会合并,两者的距离为margin的最大值

  • margin的塌陷现象
    互相嵌套的块级元素,父子元素的margin-top会被合并作用在父元素上,导致父元素一起往下移动(塌陷)
    解决方法:
    1. 给父元素设置一个border-top或者padding-top ,分隔父子元素的margin-top
    2. 给父元素设置overflow:hidden
    3. 转换成行内块元素
    4. 设置浮动

清除默认内外边距 margin:0; padding:0 清除默认内外边距 margin:0; padding:0;单方向设置
只给盒子的某个方向单独设置外边距

属性名:margin-方位名词 属性值:数字+px;

记忆规则:从上开始赋值,然后顺时针赋值,如果设置赋值的,看对面的!!

盒子的大小和计算

  • 盒子被内边距和边框撑大了,
    盒子的最终宽度= 内容区域的宽度+左右边框+左右内边框
  • 盒子的最终高度=内容区域的高度+上下边框+上下内边距
    如果不希望盒子被撑大,从内容区域的宽高,减去撑大的部分.

PxCook的基本使用

  1. 通过软件打开设计图
    ① 打开软件 ② 拖拽入设计图 ③ 新建项目 (选择本地项目)
  2. 常用快捷键
    1. 放大设计图:ctrl + +
    2. 缩小设计图:ctrl + -
    3. 移动设计图:空格按住不放,鼠标拖动,进行设计
  1. 常用工具
    1. 量尺寸
    2. 吸颜色
  1. 从psd文件中直接获取数据
    1. 切换到开发界面,直接点击获取数据

CSS3盒模型(自动内减)

  • 需求:盒子尺寸300*300,背景粉色,边框10px实线黑色,上下左右20px的内边距,如何完成
  • 给盒子设置border或padding时,盒子会被撑大,如果不想盒子被撑大

    解决方法 ① :手动内减
    • 操作:自己计算多余大小,手动在内容中减去
    • 缺点:项目中计算量太大,很麻烦
    解决方法 ② :自动内减
    • 操作:给盒子设置属性 box-sizing : border-box ; 即可
    • 优点:浏览器会自动计算多余大小,自动在内容中减去