CSS:Cascading Style Sheets 层叠样式表
CSS负责描述HTML页面的样式;从审美的角度描述页面的样式
1,CSS语法:
selector {
property: value;
property: value;
}
2,CSS创建:
我用了行内样式,呵呵
@import url("mystyle1.css")
@import url("mystyle2.css")
body {
color:red;
}
3,CSS特性:
3.1,层叠性
样式可以层叠,即多重样式将按某种规则层叠为一个;样式的覆盖与样式的调用顺序无关,与样式的定义顺序有关
3.2,继承性
前提:标签之间属于一种嵌套关系
与文字有关的属性大都可以实现继承,除了、-
,这几个标签是例外
3.3,优先级
层叠规则,优先级高的样式可以覆盖优先级低的样式。
行内(内联)样式 > 内部样式 > 外部样式 > 默认样式(浏览器缺省设置)
默认样式 < 标签选择器< 类选择器 < id选择器< 行内(内联)样式 < !important
0 1 10 100 1000 1000以上
上面用数字来表示优先级(权重),只是一个类比,10个标签选择器的优先级还是不如1个id选择器的,其他类推
继承来的样式的权重为0;权重可以叠加,即10个标签选择器的权重为10
1,标签选择器(元素选择器)
语法:标签名 {属性: 值;}
body {margin:0;}
p {color:red;}
2,通配选择器
/* 通配选择器使用通配符*来匹配所有标签 */
* {
padding: 0;
margin: 0;
}
3,类选择器
在css文件或
我是一条咸鱼
我也是一条咸鱼
4,ID选择器
在css文件或
我是一条咸鱼
我也是一条咸鱼
我是一条咸鱼
我是一条咸鱼
我来隔开你们
我是一条咸鱼
我是一条咸鱼
6,属性选择器
1,简单属性选择器
img[alt] {}
*[title] {}
a[href][title] {}
2,具体属性值选择(完全匹配)
a[title="baidu"] {}
p[class="car"][id="ben"] {}
p[class="urgent warning"] {}
3,部分属性值选择;属性值含有该部分就能匹配上
p[class~="figure"] {}
4,子串匹配属性选择器
[foo^="bar"] --选择foo属性值以"bar"开头的所有元素
[foo$="bar"] --选择foo属性值以"bar"结尾的所有元素
[foo*="bar"] --选择foo属性值包含"bar"的所有元素
[foo|="bar"] --选择foo属性值等于"bar"的或以"bar"开头的所有元素
7,伪类选择器
8,伪元素选择器
p:first-letter {
color: red;
}
p:first-line {
text-decoration: underline;
}
P:before {
color: green;
}
p:after {
color: blue;
}
特殊性:使用0,0,0,0表示法表示特殊性,左边为高位,可以叠加,但不能进位,数字越大则特殊性越高。
* 通配选择器 | 0,0,0,0 |
标签/伪元素选择器 | 0,0,0,1 |
类/伪类/属性选择器 | 0,0,1,0 |
ID选择器 | 0,1,0,0 |
内联(行内)样式 | 1,0,0,0 |
继承的样式 | 无特殊性 |
继承值无特殊性,即0特殊性的通配选择器都比继承值强
重要声明:p {color: #333 !improtant;} 其特殊性最高!
样式层叠规则分析:
1,字体
写在前面:文档显示的字体取决于用户机器上安装了的字体系列;如果用户机器上安装的字体与你设计使用的字体不同,那么文档看上去会大不同!
5种通用字体系列:
Serif 字体:字体成比例且有上下短线;包括 Times、Georgia、New Century Schoolbook
Sans-serif 字体:成比例但没有上下短线;包括 Helvetica、Geneva、Verdana、Arical
Monospace 字体:不成比例,每个字符的宽度都完全相同;包括 Courier、Courier New、Andale Mono
Cursive 字体:模仿人的手写体;包括 Zapf chancery、Author、Comic Saus
Fantasy 字体:Western、Woodblock、Klingon
推荐写法:
/* 按字体的优先级排序;字体名中有空格或#/$之类符号需加引号 */
/* 通过结合特定字体名和通用字体系列,可以创建与你预想的基本相同的文档 */
p {
font-family: Times,TimesNR,'New York',serif;
}
/* 设置字体的粗细使用font-weight */
/* font-weight:normal(400)|bold(700)|bolder|lighter|100-900 */
font 联写: font:style weight size/line-height family;
注:在使用简写属性font时,所有被忽略的值都会重置为其默认值!
2,字体颜色:
方式一:使用命名颜色,如 red,green,blue
方式二:rgb(0,0,0) rgb(255,255,255) rgba(0,0,0,0.7) a为alpha 透明度
方式三:rgb(100%,100%,100%)
方式四:使用十六进制数 #RRGGBB,如#FFFFFF,可简写为#FFF
web安全颜色:RGB值20% 和 51 的倍数,0% 和 0也是安全值;十六进制中,使用值00、33、66、99、CC、FF的三元组
3,文本属性
基线:是英文字母"x"的下端沿
内容区:底线和顶线之间的区域
行高 line-height:是文本行基线之间的距离 (能继承)
line-height - font-size = 行间距
text-indent 文本缩进 应用于块级元素
text-align: left | center | right | justify
vertical-align: sub | super | top | middle | bottom
应用于行内元素和表单元格、替换元素 (不能继承)
text-transform: uppercase | lowercase | capitalize | none
text-decoration: none | underline | overline | line-through | blink (无继承性)
前景色:color ①影响边框 ②影响表单元素
背景:内容框和内边距是元素背景的一部分,且边框画在背景之上。
background-color: 背景颜色
background-image: url(); 背景图像
background-repeat: repeat (平铺,默认) | repeat-x | repeat-y | no-repeat
background-position: left | right | top | bottom | center | 百分数 | 长度值
决定原背景图像的放置位置
其相对于元素的内边框边界放置原图像
background-position:top; 只写一个关键字,则认为等同于 background-position:top center;
background-attachment: scroll (滚动,默认) | fixed (固定)
背景图像关联,相对于视窗
background 联写:
background: white url() top left repeat-x fixed; 无顺序要求
注:在使用简写background属性时,所有被忽略的值都会重置为其默认值,从而覆盖先前给定的值!