前端学习 第五弹: CSS (一)
创建css: <link
rel="stylesheet" type="text/css" href="mystyle.css
" /> 外联
<style type="text/css">
hr {color: sienna;} p {margin-left: 20px;} body {background-image: url("images/back40.gif");} </style> 内联
1.选择器:
派生选择器: li strong
{ font-style: italic; font-weight: normal; }
id选择器: #song {font-style:italic;}
id选择器在只能出现一次 但是id选择器的派生选择器却可以出现多次 #song p {}
类选择器: .center
{text-align: center}
元素选择器: p {}
选择器分组用,隔开 p,li {} (对p和li同时适用)后代选择器: div.sidebar {background:blue;} div.maincontent {background:white;} div.sidebar a:link {color:white;} div.maincontent a:link {color:blue;}
属性选择器: [title]
{ color:red; } (这里指带有title属性的所有元素)
[title=Songhaolun]
{ border:5px solid blue; }
相邻兄弟选择器: li + li {font-weight:bold;} 上面这个选择器只会把列表中的第二个和第三个列表项变为粗体。第一个列表项不受影响。
子元素选择器: h1 > strong {color:red;} 顾名思义
伪类:CSS 伪类用于向某些选择器添加特殊的效果:
a:link
{color: #FF0000} /* 未访问的链接 */ a:visited
{color: #00FF00} /* 已访问的链接 */ a:hover
{color: #FF00FF} /* 鼠标移动到链接上 */ a:active
{color: #0000FF} /* 选定的链接 */
伪元素:
before after first-line
其中伪类用:表示 伪元素用::表示
2.定位 对齐 浮动
CSS 定位 (Positioning) 属性允许你对元素进行定位
CSS 有三种基本的定位机制:普通流、浮动和绝对定位。
通过使用 position,我们可以选择 4 种不同类型的定位,这会影响元素框生成的方式
- static
- 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。
- relative
- 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。
- absolute
- 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。
- fixed
- 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。
相对定位
如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。
#box_relative {
position: relative;
left: 30px;
top: 20px;
}
绝对定位
绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。
#box_relative {
position: absolute;
left: 30px;
top: 20px;
}
浮动
浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
img
{float:right;
}
left | 元素向左浮动。 |
right | 元素向右浮动。 |
none | 默认值。元素不浮动,并会显示在其在文本中出现的位置。 |
inherit | 规定应该从父元素继承 float 属性的值。 |
对齐
使用 margin 属性来水平对齐
可通过将左和右外边距设置为 "auto",来对齐块元素。
注释:除非已经声明了 !DOCTYPE,否则使用 margin:auto 在 IE8 以及更早的版本中是无效的。
把左和右外边距设置为 auto,规定的是均等地分配可用的外边距。结果就是居中的元素:
.center
{margin-left:auto;
margin-right:auto;
width:70%;
background-color:#b0e0e6;
}
对齐元素的方法之一是使用绝对定位:
.right
{position:absolute;
right:0px;
width:300px;
background-color:#b0e0e6;
}
对齐元素的另一种方法是使用 float 属性:
.right
{float:right;
width:300px;
background-color:#b0e0e6;
}