css基础
1.权值:
标签的权值为1,类选择符的权值为10,ID选择符的权值最高为100。例如下面的代码:
p{color:red;} /*权值为1*/ p span{color:green;} /*权值为1+1=2*/ .warning{color:white;} /*权值为10*/ p span.warning{color:purple;} /*权值为1+1+10=12*/ #footer .note p{color:yellow;} /*权值为100+10+1=111*/
注意:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。
注意:在权值相同的情况下,放在后面的样式会被采用。
浏览器默认的样式 < 网页制作者样式 < 用户自己设置的样式,但记住!important优先级样式是个例外,权值高于用户自己设置的样式。
2.删除线:
设置删除线:text-decoration:line-through;
3.html中的标签元素大体被分为三种不同的类型:
块状元素、内联元素(又叫行内元素)和内联块状元素。
常用的块状元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
块状元素有一个特点之一:在不设置宽度的情况下,显示为父容器的100%。
常用的内联元素有:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
常用的内联块状元素有:
<img>、<input>
4.解决行内元素间隙bug问题:
行内元素之间会产生间隙bug问题的场景:
1、当行内元素之间有“回车”、“tab”、“空格”时就会出现间隙。
如下代码:
<div><a>1</a>
<a>2</a>
<span>33333</span>
<span>4...
5.inline-block元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。
6.padding简写:
如果上、右、下、左的填充都为10px;可以这么写
div{padding:10px;}
如果上下填充一样为10px,左右一样为20px,可以这么写:
div{padding:10px 20px;}
7.布局模型:
在网页中,元素有三种布局模型:1、流动模型(Flow)2、浮动模型 (Float)3、层模型(Layer) 层模型有三种形式:
1、绝对定位(position: absolute)
将元素从文档流中拖出来,然后使用left、right、top、bottom属性相对于其最接近的一个具有定位属性(设置了position属性的)的父包含块进行绝对定位。如果不存在这样的包含块,则相对于body元 素,即相对于浏览器窗口。
2、相对定位(position: relative)
它通过left、right、top、bottom属性确定元素在正常文档流中的偏移位置。相对定位完成的过程是首先按static(float)方式生成一个元素(并且元素像层一样浮动了起来),然后相对于以前的位置移动, 移动的方向和幅度由left、right、top、bottom属性确定,偏移前的位置保留不动。
详见:http://www.imooc.com/code/2074
3、固定定位(position: fixed)
fixed:表示固定定位,与absolute定位类型类似,但它的相对移动的坐标是视图(屏幕内的网页窗口)本身。由于视图本身是固定的,它不会随浏览器窗口的滚动条滚动而变化,除非你在屏幕中移动浏 览器窗口的屏幕位置,或改变浏览器窗口的显示大小,因此固定定位的元素会始终位于浏览器窗口内视图的某个位置,不会受文档流动影响,这与background-attachment:fixed;属性功能相同。
详见:http://www.imooc.com/code/2075
8.颜色值:
1、英文命令颜色:p{color:red;}
2、RGB颜色:p{color:rgb(133,45,200);} 或 p{color:rgb(20%,33%,25%);}
由 R(red)、G(green)、B(blue) 三种颜色的比例来配色。值可以是 0~255 之间的整数,也可以是 0%~100% 的百分数。
3、十六进制颜色:p{color:#00ffff;}
其原理其实也是 RGB 设置,但是其每一项的值由 0-255 变成了十六进制 00-ff。
颜色值缩写:
当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半。
如:p{color:#000000;} 可缩写为 p{color: #000;}
如:p{color: #336699;} 可缩写为 p{color: #369;}
9.长度值:
px(像素)、em、% 百分比,三种单位都是相对单位。
10.字体缩写:
body{ font-style:italic; font-variant:small-caps; font-weight:bold; font-size:12px; line-height:1.5em; /*行高*/ font-family:"宋体",sans-serif; /*中文字体,英文字体*/ }
可以缩写成
body{ font:italic small-caps bold 12px/1.5em "宋体",sans-serif; }
注意:1、使用这一简写方式你至少要指定 font-size 和 font-family 属性
2、在缩写时 font-size 与 line-height 中间要加入“/”斜扛。
11.水平居中
1.如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center
来实现的。
2.当被设置元素为块状元素时用 text-align:center 就不起作用了,这时也分两种情况:定宽块状元素和不定宽块状元素。
(1).定宽:可以通过设置“左右margin”值为“auto”来实现居中。
(2).不定宽:1.加入table标签;2.设置display:inline;3.设置position:relative和left:50%;详见http://www.imooc.com/code/6365
12.垂直居中
1.父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的。
2.父元素高度确定的多行文本、图片、块状元素的竖直居中的方法有两种:
(1).加入table标签,设置vertical-align:middle。css 中有一个用于竖直居中的属性 vertical-align,但这个样式只有在父元素为 td 或 th 时,才会生效。
(2).在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell,激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式。
13.隐性改变display类型:
当为元素(不论之前是什么类型元素,display:none 除外)设置以下 2 个句之一:
1.position:absolute;
2.float:right或float:left;
元素会自动变为以 display:inline-block 的方式显示。
14.HTMLElement的style属性:
只能取到内联样式。
如果要获取计算后的样式getComputedStyle(非ie)和currentStyle(ie)。
建议使用jquery来获取样式。