关于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 {
    color: orange;
    }
而这样时,所有类名为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计算的。

posted @ 2017-09-29 21:59  zhixin9001  阅读(174)  评论(0编辑  收藏  举报