CSS笔记

display:flex之后图片拉伸

display:flex;
align-items:flex-start;

鼠标样式

cursor:pointer

布局


IE8使用float布局,再在父元素加上清除浮动。width固定。IE6加上:clearfix{zoom:1}

水平居中


上面是block,下面是Inline

垂直居中

不要写父元素高度就很容易实现


parent高度不确定

高度确定

不正交

属性之间的影响

边距合并(会被以下几种影响/打破)
可以通过中间加一个border隔开
display:table
display:flex
overflow:hidden


display会影响ul的小圆点

position:absolute会影响display:inline和display:inline-block

元素之间的影响

display:fixed会被父元素中任何一个元素的transform影响(可能相对父元素定位)
float会影响文字(为了文字围绕图片效果)

高度和宽度

div的高度由它内部文档流高度之和决定(并不相等,因为文档流不包括margin,padding行高等)
内联元素从左到右,块级元素从上到下。

脱离文档流

float,position:absolute,position:fixed



字体通过基线对齐
每个字体都有建议行高,由该字体的设计师规定。


image.png

div的宽度不由文字决定

内联元素

内联元素的宽

由文字个数决定(内容)+padding+border+margin。

内联元素的高度

div的高度由字体的行高确定,和字体大小无关.(line-height)

块级元素

div高度(块级元素)

内div的高度+padding+margin(没东西挡着就不加(margin合并))
#######margin合并
儿子的margin和爸爸的margin上下由于没有东西挡着,和在了一块,成了一个margin。
解决,在儿子和爸爸之间加个东西就好了(border,padding,overflow:hidden不推荐,限制了不能超出父元素)

div垂直居中

父元素高度不确定

.dad{padding:100px 0;} .son{margin:0 auto;}//padding上下相等即居中

父元素高度确定

display:flex;
justify-content:center;
align-items:center;
//可能需要子元素height:auto;

内联元素两个元素之间,看不见的地方(1-n个回车,1-n个空格)会变成一个空格。

单行文字对齐

image.png

image.png

line-height === height

多行文字对齐

text-align:justify

单行文本省略

多行文本省略

css multi-line text elliptical

文字垂直居中

一比一的div

padding-top:100%

响应式

通过媒体查询和禁止缩放来实现。
除了面试问,一般是没人用。
都是直接PC一套手机一套,通过服务器来判断用哪一套。

  • link标签,标签生效,已下载。