分为两种:块级元素和行内元素
块级元素:独占一行,可以设置width和height并且生效, 如果不设置width,则默认宽度按浏览器宽度显示
行内:可以和其他行内元素在一行显示,宽高由内容撑起(使用margin和padding时垂直方向不生效)
l block —— 块级元素 (独占一行,具有宽高)
l Inline —— 行内元素(可以和其他元素在同一行显示)
l inline-block —— 行内块(可以和其他元素在同一行显示,并且具有宽高)
l 转换成块: display:block;
l 转换成行内元素: display:inline;
l 转换成行内块:
l display:inline-block;
l float:left;
l position:absolute;
行内元素有 a , span ,img , input , b , u , i , strong , em
注:其中img和input是行内块
background:背景色 背景图 平铺方式 背景图定位;
l 背景色 background-color(如果想单独使用背景色时,直接使用background就可以,因为background-color浏览器的识别不是很好)
l 背景图 background-image
l 平铺方式 background-repeat
l 背景图定位 background-positon
background-position取值 是先左右(水平)方向,后上下(垂直)方向。
盒子的实际宽度 = padding + border + 实体化width;
盒子的占位宽度 = padding + border + 实体化width + margin;
l 给父级或子级别添加float:left属性
l 给父级添加overflow:hidden属性
出现环境
.box1{width:100px;height:100px;background:pink;}
.box2{width:100px;height:100px;margin-top:20px;background:green;}
解决方法
1..box1{width:100px;height:100px;background:pink;border:1px solid #000;}
2.box1{width:100px;height:100px;background:pink;overflow:hidden;}
3.box1{width:100px;height:100px;background:pink;float:left;}
l 盒子必须有宽度width值
l 盒子必须是块级元素
l 必须是标准流下的盒子
行内标签设置的margin-top和margin-bottom,padding-top和padding-bottom都没有作用。
浮动是将元素变成行内块,并且半脱离标准流
l 只要盒子有浮动,那么我们就给这个盒子的父级增加overflow:hidden来清除浮动(因为浮动后父级不能靠内容撑开,oververflow:hidden能强制检测处于半脱离的浮动流的元素)
l 由于浮动的元素没有行内元素、块级元素之分,所以不接受 display 进行行块转换
l 完全脱离标准流 ,不占位置(即便是父级使用oververflow:hidden也不能检测到该绝对定位元素的宽高尺寸,也就是父级照样不会被该绝对定位元素撑开)
l 绝对定位会把盒子变成行内块
5.3 盒子定位水平/垂直居中
(在定位前提下) left:50%; margin-left:盒子宽度的一半
top:50%; magin-top:盒子高度的一半
l background-position
切图 fw ps(ps切片工具 ps插件cutterman(需联网使用))
命名多个类名
1.语法:@import url(‘css路径’);
2.步骤:
a. 新建单独的一个css后缀文件;
b. 在head标签里面嵌入style标签
c. 将@import url(‘css路径);写入style标签里面
注意:@import url(‘css路径); 最后这个分号不能省略
现在绝大部分的网站都采用种link方式,原因在于
@import先加载HTML,后加载CSS
link先加载CSS,后加载HTML
块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只能包含其它的内联元素(W3C标准)
display:block/inline-block; (如果是行内元素,就要转换为块级;如果想使行内块有效果,就要给行内块加宽度)
overflow:hidden;
text-overflow:ellipsis;
white-space: nowrap;(强制文本不换行)
1、letter-spacing:10px; 文字的间距
2、text-transform:
captilize(文本中的每个单词以大写字母开头)
uppercase(仅有大写字母)
3、word-break:break-all;(文本自动换行,末尾是单词的话会截断)