CSS的定义是由三个部分构成:
选择符(selector),属性(properties)和属性的取值(value)。
语法: selector {property: value} (选择符 {属性:值})
说明:
·选择符是可以是多种形式,一般是你要定义样式的HTML标记,例如BODY、P、TABLE……,你可以通过此方法定义它的属性和值,属性和值要用冒号隔开:
例子:body {color: black},此例的效果是使页面中的文字为黑色。
·如果属性的值是多个单词组成,必须在值上加引号,比如字体的名称经常是几个单词的组合:
例子:p {font-family: "sans serif"} (定义段落字体为sans serif)
· 如果需要对一个选择符指定多个属性时,我们使用分号将所有的属性和值分开:
例子:p {text-align: centercolor: red} (段落居中排列并且段落中的文字为红色)
2. 选择符组
你可以把相同属性和值的选择符组合起来书写,用逗号将选择符分开,这样可以减少样式重复定义:
h1, h2, h3, h4, h5, h6 { color: green } (这个组里包括所有的标题元素,每个标题元素的文字都为绿色)
p, table{ font-size: 9pt } (段落和表格里的文字尺寸为9号字)
效果完全等效于:
p { font-size: 9pt }
table { font-size: 9pt }
3. 类选择符
用类选择符你能够把相同的元素分类定义不同的样式,定义类选择符时,在自定类的名称前面加一个点号。假如你想要两个不同的段落,一个段落向右对齐,一个段落居中,你可以先定义两个类:
p.right {text-align: right}
p.center {text-align: center}
然后用不在不同的段落里,只要在HTML标记里加入你定义的class参数:
这个段落向右对齐的
这个段落是居中排列的
类选择符还有一种用法,在选择符中省略HTML标记名,这样可以把几个不同的元素定义成相同的样式:
.center {text-align: center} (定义.center的类选择符为文字居中排列)
这样的类可以被应用到任何元素上。下面我们使h1元素(标题1)和p元素(段落)都归为“center”类,这使两个元素的样式都跟随“.center”这个类选择符:
<h1 class="center">这个标题是居中排列的</h1>
<p class="center">这个段落也是居中排列的</p>
注意:这种省略HTML标记的类选择符是我们经后最常用的CSS方法,使用这种方法,我们可以很方便的在任意元素上套用预先定义好的类样式。
4. ID选择符
在HTML页面中ID参数指定了某个单一元素,ID选择符是用来对这个单一元素定义单独的样式。
ID选择符的应用和类选择符类似,只要把CLASS换成ID即可。将上例中类用ID替代:
这个段落向右对齐
定义ID选择符要在ID名称前加上一个“#”号。和类选择符相同,定义ID选择符的属性也有两种方法。下面这个例子,ID属性将匹配所有id="intro"的元素:
#intro
{
font-size:110%
font-weight:bold
color:#0000ff
background-color:transparent
} (字体尺寸为默认尺寸的110%粗体蓝色背景颜色透明)
下面这个例子,ID属性只匹配id="intro"的段落元素:
p#intro
{
font-size:110%
font-weight:bold
color:#0000ff
background-color:transparent
}
注意:ID选择符局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。
5. 包含选择符
可以单独对某种元素包含关系定义的样式表,元素1里包含元素2,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:
table a
{
font-size: 12px
}
在表格内的链接改变了样式,文字大小为12象素,而表格外的链接的文字仍为默认大小。
6. 样式表的层叠性
层叠性就是继承性,样式表的继承规则是外部的元素样式会保留下来继承给这个元素所包含的其他元素。事实上,所有在元素中嵌套的元素都会继承外层元素指定的属性值,有时会把很多层嵌套的样式叠加在一起,除非另外更改。例如在DIV标记中嵌套P标记:
div { color: redfont-size:9pt}
……
这个段落的文字为红色9号字
(P元素里的内容会继承DIV定义的属性)
注意:有些情况下内部选择符不继承周围选择符的值,但理论上这些都是特殊的。例如,上边界属性值是不会继承的,直觉上,一个段落不会同文档BODY一样的上边界值。
另外,当样式表继承遇到冲突时,总是以最后定义的样式为准。如果上例中定义了P的颜色:
div { color: redfont-size:9pt}
p {color: blue}
……
这个段落的文字为蓝色9号字
我们可以看到段落里的文字大小为9号字是继承div属性的,而color属性则依照最后定义的。
不同的选择符定义相同的元素时,要考虑到不同的选择符之间的优先级。ID选择符,类选择符和HTML标记选择符,因为ID选择符是最后加上元素上的,所以优先级最高,其次是类选择符。如果想超越这三者之间的关系,可以用!important提升样式表的优先权,例如:
p { color: #FF0000!important }
.blue { color: #0000FF}
#id1 { color: #FFFF00}
我们同时对页面中的一个段落加上这三种样式,它最后会依照被!important申明的HTML标记选择符样式为红色文字。如果去掉!important,则依照优先权最高的ID选择符为黄色文字。
7. 注释:/* ... */
你可以在CSS中插入注释来说明你代码的意思,注释有利于你或别人以后编辑和更改代码时理解代码的含义。在浏览器中,注释是不显示的。CSS注释以"/*" 开头,以"*/" 结尾,如下:
/* 定义段落样式表 */
p
{
text-align: center/* 文本居中排列 */
color: black/* 文字为黑色 */
font-family: arial /* 字体为arial */
}
使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩写的主要规则如下:
颜色
16进制的色彩值,如果每两位的值相同,可以缩写一半,例如:
#000000可以缩写为#000#336699可以缩写为#369
盒尺寸
通常有下面四种书写方法:
property:value1表示所有边都是一个值value1;
property:value1 value2表示top和bottom的值是value1,right和left的值是value2
property:value1 value2 value3表示top的值是value1,right和left的值是value2,bottom的值是value3
property:value1 value2 value3 value4四个值依次表示top,right,bottom,left
方便的记忆方法是顺时针,上右下左。具体应用在margin和padding的例子如下:
margin:1em 0 2em 0.5em
边框(border)
边框的属性如下:
border-width:1px
border-style:solid
border-color:#000
可以缩写为一句:border:1px solid #000
语法是border:width style color
背景(Backgrounds)
背景的属性如下:
background-color:#f00
background-image:url(background.gif)
background-repeat:no-repeat
background-attachment:fixed
background-position:0 0
可以缩写为一句:background:#f00 url(background.gif) no-repeat fixed 0 0
语法是background:color image repeat attachment position
你可以省略其中一个或多个属性值,如果省略,该属性值将用浏览器默认值,默认值为:
color: transparent
image: none
repeat: repeat
attachment: scroll
position: 0% 0%
字体(fonts)
字体的属性如下:
font-style:italic
font-variant:small-caps
font-weight:bold
font-size:1em
line-height:140%
font-family:"Lucida Grande",sans-serif
可以缩写为一句:font:italic small-caps bold 1em/140% "Lucida Grande",sans-serif
注意,如果你缩写字体定义,至少要定义font-size和font-family两个值。
列表(lists)
取消默认的圆点和序号可以这样写list-style:none,
list的属性如下:
list-style-type:square
list-style-position:inside
list-style-image:url(image.gif)
可以缩写为一句:list-style:square inside url(image.gif)
列表中代表列表常用的是ul(包含li)和dl(包含dt、dd),以ul中的li为例li{ list-style:circle}
li{ list-style:样式或者图片的链接}
1.有序列表:每项之间有先后顺序,默认在每项前面显示1,2,3…<ol type="A">:在每项前面显示A,B,C…
<ol type="a">:在每项前面显示a,b,c…
<ol type="I">:在每项前面显示I,II,III…
有序列表ol增加了一个属性, <ol start="50">,这样就指定了起始值从50开始
2.无序列表使用一对闭合的标签表示, <ul></ul>。内部的一项使用 <li>内容 </li>来表示。
可以通过ul标签的type属性来修改这个修饰符。
<ul type="disc">显示为一个圆点,是默认值
<ul type="circle">显示为一个空心圆圈
<ul type="square">显示为一个实体正方形
“无序”指的是没用数字或字母等来标记,不是像1,2,3或a,b,c这样的显示,而是前面增加一个圆点来表示。
3.自定义列表
<dl>标签全称是definition list,代表“自定义列表”。 <dl>后面的l代表list,列表的意思。
<dt>标签全称是definition term,代表 “自定义项”。一个自定义列表dl内部可以包括多个自定义项dt。 <dt>后面的t代表term,“项目”的意思。
<dd> 标签的全称是definition description,代表“自定义描述”。一个自定义项dt后面跟一个自定义描述dd。 <dd>后面的d代表description,“描述”的意思。
例子:
使用 list-style-type: none
id:指定标签的唯一标识
class:指定标签的类名,class可以通过给多个元素赋予同一class,批量操作来设置css
块元素都是独立显示,把内容分割成块,是网页的主要结构模块;行内元素,即内联元素,只显示在段落的文字流中,是用来标记内容的小片段
块级元素标签 h,ul,li,ol,p,div
行内元素标签 a,em,q, img,span
页面分:头部、内容、底部,头部有三个导航栏,内容有侧边栏和中心区块,三个区块结构里面共用了一个class样式。
语义化:使用语义恰当的标签,使页面有良好的结构,页面元素有含义,能够让人和搜索引擎都容易理解。
1.<form>标签用于为用户输入创建 HTML 表单。表单用于向服务器传输数据。
<form name="myForm" action="/test/6.php" method="post">
name:表单提交时的名称;
action:提交到的地址,如果不写action,信息就会提交到当前页面;
method:提交方式(get和post),如果不写,默认的是get
2.常用标签:
复选框当中,可以把name值设置成一个数组,例:
<button>提交 </button> ——普通按钮,button默认是不提交任何数据,需要绑定事件才可以用提交数据
<a class="btn" href="#">提交 </a> ——链接
<input type="submit" value="提交"> ——提交按钮,提交信息到服务器
设置name值实现分组,如果name值相同,则表示它们是一组,可以实现单选。
placeholder 属性提供可描述输入字段预期值的提示信息。
该提示会在输入字段为空时显示,并会在字段获得焦点时消失。
隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
<input type="hidden" name="identity" value="123">