天天看点

关于CSS的一些基础内容

最近用到了CSS,刚好学学。CSS(Cascading Style Sheet)中文名层叠样式表,用于为html文档添加样式控制,也是一种计算机语言。

一、CSS语法

a)CSS规则由选择器和声明组成,构造为selector{declaration1;declaration2},多个声明之间用分号隔开。declaration又包含属性property和值value两部分。结构为property:value。

b) 不同的property的value有不太能够的写法,比如color:#ff000;color:rgb(255,255,255);width:12px;width:98%;font-family:"Calibr"等等。

c) CSS中使用空格不会影响工作效果,而且CSS对大小写不敏感,但涉及到与 HTML 文档一起工作的话,class 和 id 名称对大小写是敏感的。

d) 可以对选择器分组,然后使用相同的声明,比如

table,div,h1{

  color:red;

}

二、选择器

常用的选择器有派生选择器、ID选择器、类选择器、属性选择器等。

a) 派生选择器

能够依据元素的上下文关系来定义样式,所以也叫上下文选择器。比如要让li列表中的strong元素变为斜体字:

li strong {

    font-style: italic;

    font-weight: normal;

  }

<ol>

<li><strong>我是斜体字</strong></li>

<li>我是正常的字体。</li>

</ol>

让h2中的strong颜色为blue

h2 {

     color: red;

     }

h2 strong {

     color: blue;

<h2>The strongly emphasized word in this subhead is<strong>blue</strong>.</h2>

h2 strong会覆盖h2的样式定义

b)ID选择器

用于为标有特定ID的html元素指定样式。

#red {color:red;}

<p id="red">这个段落是红色。</p>

ID属性在html中不能重复,否则只有最后渲染的那个生效。

ID选择器也用于建立派生选择器,扩展派生选择器的使用场合。

c) 类选择器

用点号开头,且类名的第一个元素不能是数字,基本使用为:

.center {text-align: center}

<h1 class="center">

类选择器可作用于所有标记的元素。

类选择器也可以可派生选择器配合使用:

.fancy td {

    color: orange;

    }

这样写时,类名为fancy的更大的元素内部的表格单元都会显示橙色文字。

td.fancy {

而这样时,所有类名为fancy的单元格都将是橙色文字。

d)属性选择器

用于对带有指定属性的HTML元素设置样式。比如为带有title属性的所有元素设置样式:

<h2 title="Hello world">Hello world</h2>

<a title="hello" href="http://hello.com">hello</a>

[title]

{

color:red;

还有属性和值选择器,比如

[title=hello]选择title=hello的元素

[title~=hello]选择title包含hello的元素

[title|=hello]选择title以hello开头的元素

e)伪类

伪类用于为选择器添加特殊的效果,比如要控制超链接的状态:

a:link {color: #FF0000}/* 未访问的链接 */

a:visited {color: #00FF00}/* 已访问的链接 */

a:hover {color: #FF00FF}/* 鼠标移动到链接上 */

a:active {color: #0000FF}/* 选定的链接 */

伪类与CSS还可以配合使用:

a.red : visited {color: #FF0000}

<a class="red" href="css_syntax.asp">css</a>

三、框模型(Box Model)

a)CSS中的元素采用框模型来定义内容(element)、内边距(padding)、外边距(margin)、边框(border)等。

b) padding属性控制元素边框与内容之间的空白区域,margin则设置元素边框外侧的空白区域。

如果直接写padding:10px或margin:10px,则四条边框都会生效,也可以使用*-top\*-right\*-bottom\*-left来分别设置,简写时为{padding\margin:1px,1px,1px,1px},这是按照上右下左的顺时针顺序设置了对应的边距。

c)CSS的长度单位分为相对长度单位和绝对长度单位,相对长度单位有em(字体高度)\ex(字体x的高度)\px(像素)\%(百分比),绝对长度单位有in(英寸)\cm\mm\pt(point1点=72分之1英寸)\pc(Picas,1px=12点)。为边距使用%时,是相对父元素的width计算的。