CSS细节
多重样式优先级
-
内联样式;
-
id选择器;
-
伪类;
-
属性选择器;
-
class选择器;
-
元素选择器;
-
通用选择器(*);
第一个优先级最高。
- 当权值相等时,后出现的样式表设置要优于先出现的样式表设置;
- 继承的CSS 样式不如后来指定的CSS 样式;
- !important 规则例外
当 !important 规则被应用在一个样式声明中时,该样式声明会覆盖CSS中任何其他的声明,无论它处在声明列表中的哪里。尽管如此,!important规则还是与优先级毫无关系。使用 !important 不是一个好习惯,因为它改变了你样式表本来的级联规则,从而使其难以调试。
Background
- background-color 不能继承,其默认值是 transparent。如果一个元素没有指定背景色,那么背景就是透明的,这样其父元素的背景才可见。
- 默认情况下,背景图像进行平铺重复显示,以覆盖整个元素实体…
如要不重复,设置: background-repeat:no-repeat;
或者水平方向平铺:background-repeat:repeat-x; (竖直方向可知) - background-attachment设置背景图像是否固定或者随着页面的其余部分滚动。
Font
- font family:如果字体系列的名称超过一个字,它必须用引号,如Font Family:“宋体”。
属性应该设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体。 - 字体大小:
字体大小的值可以是绝对或相对的大小。
1)绝对大小: - 设置一个指定大小的文本
- 不允许用户在所有浏览器中改变文本大小
- 确定了输出的物理尺寸时绝对大小很有用
2)相对大小: - 相对于周围的元素来设置大小
- 允许用户在浏览器中改变文字大小
- em设置字体:为了避免Internet Explorer 中无法调整文本的问题,推荐使用 em 单位代替像素。
1em的默认大小是16px。
Table(表格)
1.border-collapse:collapse; 将表格中的双边框(th/ td元素都有独立的边界时)折叠成一个单一的边框。
Padding(内边距)
1.宽度的百分比表示是占其父元素宽度的百分比。
CSS Display(显示) 与 Visibility(可见性)
1.隐藏元素:display:none或visibility:hidden
visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。
display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。
-
块(block)元素尝试获取整个宽度,并在布局中开始新行。<h1>,<p>,<li>,<div>。
-
内联(inline)元素与其他内联元素保持在同一行中,并且不会开始新行。<a>,<span>。
-
display可以修改元素的块和内联性质:
li{
display:inline;
}span{
display:block;
} -
内联元素不能指定宽度,设为块元素才可以指定宽度。
-
dispaly:inline-block; 将元素设置为内联块,即外部表现为内联元素,不占用一行,但可以设置宽度、边距等块元素具有的属性。
position
1.static:默认定位,元素正常出现在流中。
2.fixed:元素固定在窗口的固定位置,不随窗口的滚动而动,不在流中。
3.relative:元素相对于其正常位置的定位,在流中。
4.absolute:相对于最近父元素的定位,不在流中。
5.z-index:-1.指定元素堆叠顺序。
6.图片剪裁:clip:rect(0px,60px,200px,0px);(相对于图片左上角)。
7.cursor。光标移动到这里时的光标类型。
8.overflow:内容溢出时的处理
float
1.元素浮动后,之前的元素不受影响,之后的元素将环绕它。
2.为消除对后面元素的影响,可使用clear属性,clear:both;
水平对齐
1.块元素水平对齐:设置宽度,然后设置,margin:auto;
2.用padding设置垂直居中对齐。
组合选择器
- 后代选取器(以空格分隔),所有后代。
- 子元素选择器(以大于号分隔),直接子代。
- 相邻兄弟选择器(以加号分隔),紧接着的兄弟。
- 普通兄弟选择器(以波浪号分隔),所有兄弟。
伪类
导航栏
- list-style-type:none; 移除列表前小标志
- margin:0;
padding:0; 移除浏览器的默认设置将边距和填充设置为0.