关于css知识点的一些总结

303 阅读3分钟
  1. 求一个div的offsetWidth就是求他的content+padding+border
div {
	width:100px;
    padding:10px;
    border:1px solid red;
    margin:10px
}

  1. margin-right和margin-bottom若为负值,则自身不受影响,其右边的元素或者下边的元素会向左移动或者向上移动 案例

  2. BFC 块级格式上下文 一块独立的渲染区域,内部元素的渲染不会影响到边界外的元素,应用 清除浮动

实现方式:

  • float不是none
  • position 是 absolute 或 fixed
  • overflow 不是 visible
  • display 是 inline-block 或 flex

4.圣杯布局

重点就是:

  • 首先containerpadding左右边要和左右边div的宽度一样,main的宽度设置为100%
  • leftmargin-left:-100%,以后left会跑到main的左侧,可以想象是因为left原本是接在main后面的,然后跑了一个container的宽度,所以跑到了main的左侧,然后让left相对自己定位(position:relative),在right一个自己的宽度就可以跑到左边了
  • right的margin-right一个自己的宽度就会跑到右边去,可以理解成,原本margin-right是应该自己不动,然后右边元素往左移,相当于自身元素减少了,所以,当减少为0的时候,右边元素会跑到main的右边
  1. 双飞翼布局 与圣杯布局不同,圣杯布局设置的是padding,但是双飞翼设置的是margin,margin的左右宽度等于leftright的左右宽度,然后left设置margin-left:-100%,会往左移动container的一个宽度,所以到了左边,然后right,假想他原本就是接在main后面的,如果移动margin-right的话他会填充在后面,所以用margin-left=-他的宽度即可
  2. .clearfix
.clearfix:after {
	content:'';
    display:table;
    clear:both;
}
.clearfix:{
	zoom:1 /*兼容ie*/
}
  1. absolute 和 relative relative 是依据自身元素定位,不会影响其他元素的布局 absolute 是依据最近一层的定位元素定位 定位元素指:absolute,relative,fixed 和body

  2. 居中对齐

  • 水平居中 对于inline的元素可以用 text-align:center

对于block的元素可以用margin:auto

absolute元素可以设置 left:50%+margin-left=-元素的宽度的一半

  • 垂直居中 对于inline元素可以用line-height = height

absolute可以用top:50%+margin-top:-元素的高度的一半

absolute可以用transform:translate(-50%,-50%)

absolute可以用lef,right,top,bottom=0 + margin= auto

  1. line-height的继承问题 若元素的line-height没有设置,则继承他父元素的line-height,若父元素的line-height是实际的数字或者比例,则自动继承然后转化成自己高度或数字大小高度的比例,若line-height是一个百分比,则现换算成父元素的line-height,然后继承其父元素的line-height
<div>
	<p></p>
</div>
-------css
div{
	font-size:20px;
    line-height:200%
}
p {
	font-size:16px
}

则此时的p的line-height是40px (20*200%)

<div>
	<p></p>
</div>
-------css
div{
	font-size:20px;
    line-height:1.5
}
p {
	font-size:16px
}

则此时的p的line-height是24px (16*1.5)

  1. 响应式
  • em:相对于父元素的相对长度单位
  • rem:相对于根元素的相对长度单位 window.screen.height 是指屏幕的高度

window.innerheight 是指除去了headerfooter的高度,网页视口高度

document.body.clientHeight 是指页面显示的内容的高度

  • vh 是指的网页视口高度的1/100 window.innerheight = 100 vh
  • vw 是指网页视口宽度的1/100