【疯狂积累CSS】1:CSS基础

一:选择器☆☆

元素选择器 p { color: #ff0000; }

派生选择器:比方说,你希望列表中的 strong 元素变为斜体字,而不是通常的粗体字,可以这样定义一个派生选择器,也就是说li中的strong:li strong { font-style: italic; font-weight: normal; }

id 选择器,id选择器可以跟派生一起使用#red {color:red;} #green {color:green;} <p id="red">这个段落是红色。</p> <p id="green">这个段落是绿色。</p>

类选择器,类选择器也可以派生 .center {text-align: center} <h1 class="center"> This heading will be center-aligned </h1> <p class="center"> This paragraph will also be center-aligned. </p>

样式表这样插入到html中<head> <link rel="stylesheet" type="text/css" href="mystyle.css" /> </head>

总结:css的选择器好像和jquery非常相似,基本有id,类,元素三种选择,分别是井号,点,直接元素名,另外加上派生和继承。当然还有其他如,子元素选择器和相邻兄弟选择器等等。

 

二:CSS样式☆☆

背景

把元素的背景设置为灰色:p {background-color: gray;}

内边距:p {background-color: gray; padding: 20px;}

背景图像:body {background-image: url(/i/eg_bg_04.gif);}

背景重复:body{background-image: url(/i/eg_bg_03.gif);background-repeat: repeat-y;}

背景定位:body{ background-image:url('/i/eg_bg_03.gif');background-repeat:no-repeat;background-position:center;}

文本

缩进文本:p {text-indent: 5em;}

使用负值:p {text-indent: -5em;}

使用百分比值:div {width: 500px;}

水平对齐:text-align

字体

使用通用字体系列:body {font-family: sans-serif;}

指定字体系列:h1 {font-family: Georgia;}

字体大小:h1 {font-size:60px;} h2 {font-size:40px;} p {font-size:14px;}

链接

a:link {color:#FF0000;} /* 未被访问的链接 */ a:visited {color:#00FF00;} /* 已被访问的链接 */ a:hover {color:#FF00FF;} /* 鼠标指针移动到链接上 */ a:active {color:#0000FF;} /* 正在被点击的链接 */

列表

列表项标志设置为方块:ul {list-style-type : square}

列表项图像:ul li {list-style-image : url(xxx.gif)}

列表标志位置:li {list-style : url(example.gif) square inside}

表格

表格边框:table, th, td{ border: 1px solid blue;}

折叠边框:table {border-collapse:collapse;} /* 默认边框是两层空心,这个属性可以说必须有 */

表格宽度和高度:table { width:100%; } th { height:50px; }

表格文本对齐:text-align 属性设置水平对齐方式,比如左对齐、右对齐或者居中:vertical-align 属性设置垂直对齐方式,比如顶部对齐、底部对齐或居中对齐:表格内边距:td { padding:15px;}

轮廓(outline)

是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

CSS outline 属性规定元素轮廓的样式、颜色和宽度。我好像从来没用过

 

三:CSS框模型☆☆☆

CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距边框外边距 的方式。

* { margin: 0; padding: 0; } /* 这就分别是内边距和外边距 */

h1 {padding: 10px 0.25em 2ex 20%;} /* 按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值 */

p {padding: 10%;} /* 如果只有一个则四周都会设置成一样的 */

a:link img {border-style: outset;} /* 这样设置边框样式,边框总共有10种样式 */

p {border-style: solid; border-width: 5px;}

p {border-style: solid; border-width: 15px 5px 15px 5px;} /* 按照上、右、下、左 */

p {border-style: none; border-width: 50px;} /* 这样会没有边框 */

h1 {margin : 0.25in;} /* 设置外边距 */

h1 {margin : 10px 0px 15px 5px;} /* 按照上、右、下、左 */

p {margin : 10%;}

p {margin: 0.5em 1em;} /* 第一个值设置上下,第二个值设置下左 */

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并,这个好烦。

 

三:CSS框模型☆☆☆

CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距边框外边距 的方式。

* { margin: 0; padding: 0; } /* 这就分别是内边距和外边距 */

h1 {padding: 10px 0.25em 2ex 20%;} /* 按照上、右、下、左的顺序分别设置各边的内边距,各边均可以使用不同的单位或百分比值 */

p {padding: 10%;} /* 如果只有一个则四周都会设置成一样的 */

a:link img {border-style: outset;} /* 这样设置边框样式,边框总共有10种样式 */

p {border-style: solid; border-width: 5px;}

p {border-style: solid; border-width: 15px 5px 15px 5px;} /* 按照上、右、下、左 */

p {border-style: none; border-width: 50px;} /* 这样会没有边框 */

h1 {margin : 0.25in;} /* 设置外边距 */

h1 {margin : 10px 0px 15px 5px;} /* 按照上、右、下、左 */

p {margin : 10%;}

p {margin: 0.5em 1em;} /* 第一个值设置上下,第二个值设置下左 */

当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并,这个好烦。

 

四:定位

以下叙述很关键

一切皆为框,这句很重要,div、h1 或 p 元素常常被称为块级元素。这意味着这些元素显示为一块内容,即“块框”。与之相反,span 和 strong 等元素称为“行内元素”,这是因为它们的内容显示在行中,即“行内框”。

您可以使用 display 属性改变生成的框的类型。这意味着,通过将 display 属性设置为 block,可以让行内元素(比如 <a> 元素)表现得像块级元素一样。还可以通过把 display 设置为 none,让生成的元素根本没有框。这样的话,该框及其所有内容就不再显示,不占用文档中的空间。

CSS 定位机制

CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。

块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。

行内框在一行中水平布置。可以使用水平内边距、边框和外边距调整它们的间距。但是,垂直内边距、边框和外边距不影响行内框的高度。由一行形成的水平框称为行框(Line Box),行框的高度总是足以容纳它包含的所有行内框。不过,设置行高可以增加这个框的高度。

CSS position 属性非常非常关键,H5定位全靠这个

static 元素框正常生成。块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中。 relative 元素框偏移某个距离。元素仍保持其未定位前的形状,它原本所占的空间仍保留。 absolute 元素框从文档流完全删除,并相对于其包含块定位。包含块可能是文档中的另一个元素或者是初始包含块。元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。 fixed 元素框的表现类似于将 position 设置为 absolute,不过其包含块是视窗本身。

由于定位太关键,专门一篇文章来总结:

相对定位

#box_relative { position: relative; left: 30px; top: 20px; }/* 按照上、右、下、左 */

绝对定位

#box_relative { position: absolute; left: 30px; top: 20px; }

 

浮动

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”:

 

附:CSS单位

px:像素

em:相对值,默认1em = 16px

ex:相对值,默认是字体高度的一半

%:百分比

in:英寸

posted on 2017-09-17 17:15  零℃弥合  阅读(205)  评论(0编辑  收藏  举报

导航