前端基础CSS
1、css选择器
2、分组和嵌套
3、伪类选择器
4、选择器的优先级
5、其他属性(背景、文字)
6、css盒子模型
7、浮动
8、定位
一、css选择器
基本选择器:
- 元素选择器: p {color:“red”;}
- ID选择器 : #i1{background-color:red;}
- 类选择器: .c1 {font-size:14px;}
通用选择器
- * {color:white;}
组合选择器
- 后代选择器 : li a {color:green;} /*li内部的a标签设置字体颜色*/
- 儿子选择器:div>p {font-family:“Arial Black”, arial-black,cursive;} /*选择所有父级是<div>元素的<p>元素*/
- 毗邻选择器:div+p {margin:5px;} /*选择所有紧接着<div>元素之后的<p>元素*/
- 弟弟选择器:#i1~p {border: 2px solid red;} /*i1后面所有的兄弟p标签*/
二、分组和嵌套
分组:
当多个元素的样式相同的时候,没有必要重复为每个元素设置样式,可以通过多个选择器之间使用逗号分隔的分组选择器统一设置元素样式。
- div,p {color:red;}
嵌套:
多种选择器可以混合使用。
比如: .c1类内部所有p标签设置字体颜色为红色
- .c1 p {color:red;}
三、伪类选择器
/* 未访问的链接 */
a:link {
color: #FF0000
}
/* 已访问的链接 */
a:visited {
color: #00FF00
}
/* 鼠标移动到链接上 */
a:hover {
color: #FF00FF
}
/* 选定的链接 */
a:active {
color: #0000FF
}
/input输入框获取焦点时样式/
input:focus {
outline: none;
background-color: #eee;
}
四、选择器的优先级
五、其他属性(背景、文字)
文字对齐:text-align
- left 左边对齐,默认值
- right 右边对齐
- center 居中对齐
- justify 两端对齐
文字装饰:text-decoration
- none 默认值。定义标准的文本
- underline 定义文本下的一条线
- overline 定义文本上的一条线
- line-through 定义穿过文本下的一条线
- inherit 继承父元素的text-decoration属性的值
首行缩进:text-indent
将段落的第一行缩进32像素: p {text-indent: 32px;}背景属性:
- background-color: red;
- background-image:url(’ ');
- background-repeat:no-repeat;
/*背景重复
repeat:背景图片平铺排满整个网页
repeat-x 在水平方向上平铺
repeat-y 在垂直方向上平铺
*/ - background-position: right top /*背景位置*/
六、盒子模型
属性 | 作用 |
---|---|
margin | 用于控制元素与元素之间的距离;margin的最基本用途是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。 |
padding | 用于控制内容与边框之间的距离 |
border | 围绕在内边距和内容外的边框 |
content | 盒子的内容,显示文本和图象 |
margin外边距:
.margin-test {
margin-top : 5px;
margin-right: 10px;
margin-bottom: 15px;
margin-left : 20px;
}
简写:顺序----> 上右下左
.margin-test { margin: 5px 10px 15px 20px; }常见居中:
margin : 0 auto;padding内填充:
. padding-test {
padding-top: 5px;
padding-right: 10px;
padding-bottom: 15px;
padding-left: 20px;
}
简写:顺序----> 上右下左
padding: 5px 10px 15px 20px;七、浮动
在css中,任何元素都可以浮动浮动元素会生成一个块级框,而不论它本身是何种元素。
float:
- left : 向左浮动
- right : 向右浮动
- none : 默认值
clear: clear属性规定元素的哪一项不允许其他浮动元素。
值 | 描述 |
---|---|
left | 在左侧不允许浮动元素 |
right | 在右侧不允许浮动元素 |
both | 在左右两侧均不允许浮动元素 |
none | 默认值。允许浮动元素出现在两侧。 |
inherit | 规定应该从父元素继承clear属性的值。 |
清除浮动:
清楚浮动的副作用(父标签塌陷问题) 主要有三种方式:- 固定高度
- 伪元素清除法
- overflow: hidden
overflow溢出属性:
值 | 描述 |
---|---|
visible | 默认值。内容不会被修剪,会呈现在元素框之外。 |
hidden | 内容会被修剪,并且其余内容不可见。 |
scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容 |
八、定位
- static 默认值,无定位,不能当作绝对定位的参照物。
- relative 相对定位,以自己原始位置为参照物。
- 注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。
- absolute 绝对定位。
- fixed (固定)
absolute:
设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的。
注意: 子绝父相:子元素用绝对定位,父元素用相对定位。