css那些事笔记
作者:gcbeen
日期:2013年09月23日
一、css的简写
margin padding的简写
margin: margin-top margin-right margin-bottom margin-left;
margin: top-bottom margin-right margin-bottom;
margin: top-bottom left-right;
margin: all
边框的简写
border: border-width || border-style || border-color
/* 边框的四个方向的属性不能简写 */
div {
border-width: 1px; /* 边框4个方向大小都为1px */
border-style: solid dashed double; /* 上边框为实线,左右边框为虚线,下边框为双线 */
border-color: #FF0000 #000000; /* 上下边框为红线,左右边框为黑线 */
}
背景的简写
body {
background-color: #FF0000; /* 背景颜色 */
background-image: url(background.gif); /* 背景图片 */
background-repeat: no-repeat; /* 背景图片无平铺 */
background-attachment: fixed; /* 将背景图片固定,不随页面滚动而滚动 */
background-position: 0 0; /* 定义背景图片的位置,必须先定义背景图片后才有效 */
}
bacckground: background-color || background-image || background-repeat || background-attachment || background-position
body {
background: #FF0000 url(background.gif) no-repeat fixed 0 0;
}
/* 默认值 */
background-color: transparent;
background-images: none;
background-repeat: repeat;
background-attachment: scroll;
background-position: 0% 0%;
background-attachment: fixed; background-attachment: scroll;
字体的简写
body {
font-style: italic; /* 字体 斜体 */
font-variant: small-caps; /* 字体小型的大写字母,针对英文 */
font-weight: bold; /* 将文字加粗 */
font-size: 12px;
line-height: 140%; /* 行高 */
font-family: "Lucida Grande", sans-serif; /* 字体名称 */
}
font: font-style || font-variant || font-weight || font-size || line-height || font-family
body {
font: italic small-caps bold 12px/140% "Lucida Grande", sans-serif;
}
/* 默认值 */
font-style: normal;
font-variant: normal;
font-weight: normal;
font-size: medium;
line-height: normal;
font-family: "Times New Roman"
line-height: 140%;
font-variant: small-caps
表的简写
li {
list-style-type: square;
list-style-position: inside;
list-style-image: url(image.gif);
}
list-style: list-style-image || list-style-position || list-style-type
li {
list-style: url(image.gif) inside square;
}
/* 默认值 */
list-style-type: disc;
list-style-position: outside;
list-style-image: none;
list-style-position: inside;
list-style-position: outside;
二、css选择符
通配符选择符
一般用来对页面所有元素应用样式
* {
margin: 0;
padding: 0;
}
对后代元素应用样式
p * {
// stylesheet
}
类选择符
.myContent {
// stylesheet
}
包含选择符
p strong {
// stylesheet
}
子选择符
p > strong {
// stylesheet
}
相邻选择符
p + strong {
// stylesheet
}
<p>p标签</p>
<strong>1、p标签相邻</strong>
<strong>2、strong2</strong>
<strong>3、strong3</strong>
<strong>4、strong4</strong>
strong + strong {
// stylesheet
}
<p>p标签</p>
<strong>1、p标签相邻</strong>
<strong>2、strong2</strong>
<strong>3、strong3</strong>
<strong>4、strong4</strong>
属性选择符
分为四种:
第一种E[attr]
*[class] {
color: #F00;
}
<p class="paragraphs">带class</p>
<p>不带class </p>
第二种E[attr="value"]
input[type="text"] {
text-align: center;
border: 1px solid #F00;
background-color: #E8E8E8;
}
<input type="text" value="" />
<input type="password" value="" />
第三种E[attr~="value"] 属性值是用空格隔开的字段,有一个是value
p[title~="css"] {
color: #F00
}
<p title="css xhtml">css xhtml</p>
<p title="css+xhtml">css+xhtml</p>
<p title="层叠式样式表 css">css 层叠式样式表</p>
第四种E[attr|=value] 属性值必须是以value值开始及使用连字符(-)分隔的E元素
p[title|="css"] {
color: #F00;
}
<p title="xhtml-css">xhtml-css</p>
<p title="css+xhtml">css+xhtml</p>
<p title="css-Cascading Style Sheets">css-Cascading Style Sheets</p>
ID选择器
#myContent {
//stylesheet
}
选择符组合关系
正对性使用类选择符或ID选择符
.myContent {
// stylesheet
}
p.myContent {
// stylesheet
}
#myContent {
// stylesheet
}
选择符群组
p,
.myContent,
#title {
// stylesheet
}
选择符组合
p span {
// stylesheet
}
三、伪类、伪对象
伪类:以a标签为例
a:link {
color: red;
}/* 默认状态 */
a:visited {
color: blue;
}/* 访问过后状态 */
a:hover {
color: green;
}/* 经过时的状态 */
a:active {
color: back;
}/* 点击时的状态 */
input:hover {
background-color: #F00;
}
<input type="text" value="" />
伪对象 如在p前后添加文字。
p:before {
content: "4月1日,"
}
p:after {
content: ", 大家小心不要被骗啊!"
}
<p>愚人节快到了</p>
四、选择符的关系
大雪过后为何大地一片银白,因为白雪覆盖在大地之上,所以看到大地一片银白,css样式也是如此,后面的样式覆盖前面的(选择符的覆盖)。选择符的继承(子承父业)就是后代标签会继承父级元素的css属性,其中也有例外,例如标题标签h1~h6这6个标签将会使用浏览器默认的样式设置的文字大小,也就是使用选择符的覆盖特性。
选择符的权重值优先级别
css样式采用的有限顺序
- 标有!important关键字声明的属性。
- HTML中的css样式属性。(不推荐)
- 作者编辑的css文件样式属性。(推荐)
- 用户设置的样式。
- 浏览器默认的样式。
css样式的优先级积分
- 标签选择符、伪类及伪对象:优先级积分为1。
- 类选择符、属性选择符:优先级积分为10。
- ID选择符:优先级积分为100。
- style属性:优先级积分为1000。
- 其他选择符,如通配符选择符等:优先级积分为0。 !important关键字优先级最高。
把css引入html页面。
- 直接写在标签元素的属性style中,行间样式。
- 将样式写在标签之内,内嵌样式表。
- 通过方式外链css样式文件,外联样式表。
- 通过@import关键字导入外部css样式文件,导入样式表。
样式表的规划与维护
一般将css分为两部分:
- 页面的全局定义及处理页面基本布局的css样式文件
- 处理细节方面的css样式文件
ps:html转义
blog comments powered by Disqus