十六、理解CSS
CSS(Cascading Style Sheet, 层叠样式表)包含大量功能。W3C并不想创建一个单一标准,因此将CSS3分割成了多个模块,并允许每个模块根据自身需要进行更新。目前CSS3模块还没有达到标准化的最后阶段,主流浏览器在实现这些新特性时,为其添加了特有的浏览器前缀,如Chrome、Safari的 -webkit-,Opera的 -o-,Firefox的 -moz-,Internet Explorer的 -ms-。
CSS中的一个基本概念是盒模型(box model),可见元素在页面中占据一个矩形区域,该区域就是元素的盒子,它由外边距、边框、内边距和元素内容这4个部分组成。父元素的内容盒子,被称为子元素的块容器。
学习CSS的重点之一就是CSS选择器,灵活地使用CSS选择器是必须的。其次是数十个常用的CSS样式属性,包括边框和背景属性、盒模型属性、布局类属性、文本类属性、过渡动画变换属性等。如果你想在自己的项目中使用CSS特性,那么搞清楚这些CSS属性所定义的版本是非常有必要的,因为CSS3模块还不稳定,浏览器之间的实现并没有那么广泛。
十七、CSS选择器(上)
通配符选择器、元素选择器:
* {
border:thin black solid;
padding: 4px;
text-decoration: none;
}
a {
font-size: 18px;
}
a.api {
color: red;
}
属性选择器:
[href] {
background-color: #eee;
}
[class~="class2"] {
border: 2px solid red;
}
[lang|="en"] {
padding: 10px;
}
并集选择器:
a, p, [class] {
font-size: 20px;
cursor: pointer;
}
后代选择器:
body span {
display: block;
}
#mytable td{
border: thin black solid;
padding: 4px;
}
子代选择器:
body>table, tr>td{
border: 2px solid red;
}
相邻兄弟选择器
table+div {
width: 500px; height: 50px;
background-color: red;
margin-top: 20px;
border: none;
}
table+div>div {
display: inline-block;
width: 50px; height: 20px;
background-color: green;
margin-left: 10px;
}
伪元素选择器:
p.text::first-line {
background-color: grey;
color: white;
}
p::first-letter {
background-color: blue;
color: white;
border: thin black solid;
padding: 4px;
}
.mi::before {
content: "click me to ";
}
.mi::after {
content: " !";
}
CSS计数器:
body {
counter-reset: paracount 3; /*计数器名称*/
}
p::before {
content: counter(paracount) ". "; /*要插入的内容*/
counter-increment: paracount 2; /*计数器的增量*/
}
十八、CSS选择器(下)
匹配根元素:
:root {
border: thin red solid;
padding: 4px;
}
子元素选择器:
body>p:first-child {
border: thin blue solid;
padding: 4px;
}
body>#box>span:first-child {
color: red;
}
:last-child {
font-size: 20px;
}
:only-child {
background-color: grey;
}
nth-child选择器:
body>p:nth-child(3){
color: red;
}
UI伪类选择器:
:enabled {
padding: 10px;
border: 1px solid yellow;
display: inline-block;
background-color: yellow;
}
:checked + span {
background-color: red;
color: white;
padding: 5px;
border: medium solid black;
}
:defalut {
outline: medium solid red;
}
:invalid {
outline: medium solid red;
}
:valid {
outline: medium solid green;
}
:required {
border: 5px solid #45ee80;
}
动态伪类选择器:
:link {
text-decoration: none;
color: red;
}
:visited {
color: black;
}
p:hover {
background-color: grey;
}
p:active {
background-color: yellow;
}
取反选择器:
p:not([class]){
font-size: 36px;
}
div:empty {
width: 800px;
height: 55px;
margin: 20px auto;
background-color: #aa5609;
}
:target {
font-size: 80px;
}
十九、边框与背景样式
边框样式:
#pid {
line-height: 5em;
border-width:thick;
border-style: inset;
border-color:red;
border-bottom-style: dashed;
border-right: dashed thick red;
}
圆角边框:
#box {
width: 200px; height: 50px;background-color: red;
border-top-left-radius:5px 10px;
border-radius:5px / 10px;
border-radius:50% 20px 25% 5em / 25% 15px 40px 55%;
}
图像边框:
#box1 {
width: 90px; height: 90px; background-color: red; padding: 20px;
-webkit-border-image: url(images/bordergrid.png) 25/ 30px;
}
图像背景:
#box2 {
width: 200px; height: 200px;
background-color: lightgray;
background-image: url(images/banana.png);
background-size: 45px 60px;
background-repeat:no-repeat;
background-position: center;
}
body {
background-image: url(images/triathlon.png);
background-size: 800px 300px;
background-repeat: no-repeat;
/*background-position: center;*/
background-attachment: fixed;
background-position: 50px 100px;
}
背景起始位置和裁剪:
#box3 {
width: 200px; height: 100px;
background-color: red;
padding: 50px;
border: 10px black; margin: 20px;
background-origin: border-box;
background-clip: content-box;
}
盒子阴影:
#text {
border:10px double red; padding: 25px;
box-shadow: 5px 10px 10px 2px green , 10px 15px 20px 2px yellow; /*内阴影 外阴影*/
}
轮廓样式:
.p3 {
width: 30%;
padding: 5px;
border: medium double black;
background-color: lightgray;
margin: 2px;
float: left;
}
#ppp {
outline: 20px solid red;
}
在脚本中使用”轮廓“样式:
二十、盒模型
内边距:
只有坦然,才能让人变的从容,才能把心推向阳光,才能让心微笑向暖。
内边距:
也许心再阳光,也难免忧伤,路再宽广,也难免彷徨。
外边距:
元素尺寸:
最大/最小尺寸:
处理溢出内容:
其实人生的困难,是遇到的困难时,我们学会去面对和解决它的过程,而不是困难的本身。
正如你丢了一大笔钱,而你失去这笔钱,你未来的日子会很困难。
元素的可见性 visibility:
1
1
1
1
1
1
1
1
1
1
1
1
block 块元素:
从未经历过,今天你所难过的,叫做成长。
inline 行内元素:
难免彷徨。
人生一世,一半欢喜,一半忧伤,无论你是喜还是忧。
display="run-in" 插入类型:
路再宽广,也难免彷徨.
人生一世,一半欢喜,一半忧伤。
display="none" 隐藏类型:
人生于世,倘若能够拥有一付达观的心境。
浮动:
喜欢你,已经很久很久了。
一份沉默的爱,既是一种无言的沧桑。
爱情,是美好的,也是忧伤的,它是这个世上最折磨人的东西。
清除浮动:
绿萝拂过衣襟,青云打湿诺言.
二十一、创建布局
position 定位类型:
有风香百里,无风香九楼,我不由地要去寻觅.
轻抚我的肌肤,轻诉着她的心事。
绵绵秋风绵绵雨,一阵秋雨一阵凉。
我在纱帐里闻香,在纱帐里遐想。
z-index 层叠顺序:
多列:
有时候两个人的距离离得越来越远了,心却靠的越来越近了。
周围的观众无不唏嘘,为之鼓掌,我们为这样的爱情而感动。
今生,相携相伴,与你在灵魂里一起皈依!
创建 弹性盒模型 flex :
喜欢养花,并不是因为花香的味道醉心。
每一株花都是含笑的精灵,每一种花都是一个故事。
而我的双手,捧起的难道不是自己和每一个精灵的家吗?
CSS表格布局:
于是不可救药的爱上了养花。
一直相信,喜欢养花的女人,骨子是软的。
每一株花都是含笑的精灵。
没由来的感动。
起起落落的感动。
沏一壶茶坐在阳台。
二十二、文本样式
对齐文本:
有些花草爱热闹,纷纷杂杂的生出许多小生命.
whitespace 处理文本中的空白:
人心静了,眼神 柔了,指尖便多了 些梦的 色彩,染蓝了天,染绿了地.
指定文本方向:
如此,一株花,一杯茶,一个爱养花的灵魂.
在尘世间给了我演绎生命最好的回答.
字母间距、词间距、行距:
Your people understand your love but can not feel it. You moved too quickly, it brought not only prosperity, growth and confidence but also puzzles, pains, tears and worries. All your people need are to live respectfully, easily, and happily. Their feeling will tell them what is wrong or right.
断词方式:
首行缩进:
文本装饰、大小写转换:
Whatever you do, you should do what you most want to do, and what you're best at.
创建文本阴影:
So slow down your foot, please.
Don’t let the number get you lost.
指定字体列表:
Their feeling will tell them what is wrong or right.
使用Web字体:
Miracles were created one by one in china in last 30 years.
二十三、过渡、动画和变换
使用 过渡 VS. 反向过渡:
May you have enough happiness to make you sweet.
动画:
There are moments in life when you miss someone so much that you just want to pick them from your dreams and hug them for real!
页面一加载,就使用动画:
May you have enough happiness to make you sweet.
停止和启动动画:
When you were born,you were crying and everyone around you was smiling.
变换:
Please send this message to those people who mean something to you.
二十四、其它CSS属性和特性
color 前景色:
诗歌是美丽的!
透明度:
My house is perfect. By great good fortune I have found a housekeeper no less to my mind.
表格相关的CSS样式:
1
1
1
1
1
1
1
标题的位置
11
11
11
11111111111111111111111111111111111111111111111111111111111111
11
11
列表相关样式:
- My house is perfect.
- My house is perfect.
- My house is perfect.
- My house is perfect.
- My house is perfect.
第三部分 结束!!!