CSS基础目录
1.CSS基础
1.1CSS介绍
- 现在的互联网前端分三层:
- HTML:超文本标记语言。从语义的角度描述页面结构。
- CSS:层叠样式表。从审美的角度负责页面样式。
- JS:JavaScript 。从交互的角度描述页面行为
- CSS:Cascading Style Sheet,层叠样式表。
- CSS的作用就是给HTML页面标签添加各种样式,定义网页的显示效果。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。
- HTML的缺陷:
- 不能够适应多种设备
- 要求浏览器必须智能化足够庞大
- 数据和显示没有分开
- 功能不够强大
- CSS 优点:
- 使数据和显示分开
- 降低网络流量
- 使整个网站视觉效果一致
- 使开发效率提高了
1.2.CSS样式
-
行内样式
<div> <p style="color: green">我是一个段落</p> </div>
-
内接样式
<style type="text/css"> /*css代码*/ span{ color: yellow; } </style>
-
外接样式-链接式
<link rel="stylesheet" href="./index.css">
-
外接样式-导入式
<style type="text/css"> @import url('./index.css'); </style>
1.2CSS基础语法
- 1.selector {
property:value
}
例: h1 {color:red; font-size:14px;}
属性大于1个之后,属性之间用分号隔开
如果值大于1个单词,则需要加上引号:
p {font-family:“sans serif”}
1.3CSS高级语法
- 1.选择器分组:
h1, h2, h3, h4, h5, h6{color:red;} - 2.继承:
body{
color:green;
}
1.4CSS选择器
1.4.1元素选择器
-
a.最常见的选择器就是元素选择器,文档的元素就是最基本的选择器
-
b.可以选中所有的标签元素,比如div,ul,li ,p等等,不管标签藏的多深,都能选中,选中的是所有的,而不是某一个,所以说 “共性” 而不是 ”特性“
例如:h1{}, a{}body{ color:gray; font-size: 12px; } /*标签选择器*/ p{ color: red; font-size: 20px; } span{ color: yellow; }
1.4.2.选择器分组
- 例子:h1, h2{}
- 通配符: *{}
1.4.3.类选择器详解
类选择器以一个点显示
class也可以做派生选择器
-
a.类选择器允许以一种独立与文档元素的方式来指定样式
-
所谓类:就是class . class与id非常相似 任何的标签都可以加类,但是类是可以重复,属于归类的概念。同一个标签中可以携带多个类,用空格隔开
例如: .class{}.lv{ color: green; } .big{ font-size: 40px; } .line{ text-decoration: underline; }
HTML文本
<!--公共类--> <p id="p1" class="big lv">百度一下</p> <p id="p2" class="lv line">百度一下</p> <p id="p3" class="big lline">百度一下</p>
-
b.结合元素选择器
例如:a.class{} -
c.多类选择器
例如:.class.class{}
1.4.4.ID 选择器详解
id选择器可以为标有id的HTML元素指定特定的样式
id选择器和派生选择器:
目前比较常用的方式是id选择器常常用于建立派生选择器
-
a.ID 选择器:
ID选择器类似于类选择器,不过也有一些重要差别
id选择器以"#"来定义
同一个页面中id不能重复。
任何的标签都可以设置id
id命名规范 要以字母 可以有数字 下划线 - 大小写严格区分 aa和AA是两个不一样的属性值
例如:#id{}#box{ background:green; } #s1{ color: red; } #s2{ font-size: 30px; }
-
b.类选择器和ID选择器区别:
1.ID只能在文档中使用一次,而类可以多次使用
2.ID选择器不能结合使用
3.当使用js的时候,需要用到id
1.4.5.属性选择器详解
对带有指定属性的HTML元素设置样式
-
a.简单属性选择:
例如:[title]{} -
b.根据具体属性值选择:
除了选择拥有某些元素,还可以进一步缩小选择范围,只选择有特定属性值的元素
例如:a[href = “http://www.baidu.com” ]{}; -
c.属性和属性值必须完全匹配
-
d.根据部分属性值选择
/*根据属性查找*/ /*[for]{ color: red; }*/ /*找到for属性的等于username的元素 字体颜色设为红色*/ /*[for='username']{ color: yellow; }*/ /*以....开头 ^*/ /*[for^='user']{ color: #008000; }*/ /*以....结尾 $*/ /*[for$='vvip']{ color: red; }*/ /*包含某元素的标签*/ /*[for*="vip"]{ color: #00BFFF; }*/ /**/ /*指定单词的属性*/ label[for~='user1']{ color: red; } input[type='text']{ background: red; }
1.4.6.后代选择器
-
后代选择器可以选择作为某元素后代的元素
使用空格表示后代选择器。顾名思义,父元素的后代(包括儿子,孙子,重孙子).container p{ color: red; } .container .item p{ color: yellow; }
1.4.7.子元素选择器
-
a.与后代选择器相比,子元素选择器只能选择作为某元素子元素的元素
-
b.使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子…)元素p。
例如:h1>strong{};.container>p{ color: yellowgreen; }
1.4.8.相邻兄弟选择器
- 可选择紧接在另一个元素后的元素,且二者有相同父元素
例如:h1 + p{};
1.4.9.并集选择器
-
多个选择器之间使用逗号隔开。表示选中的页面中的多个标签。一些共性的元素,可以使用并集选择器
/*并集选择器*/ h3,a{ color: #008000; text-decoration: none }
比如像百度首页使用并集选择器。
body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td { margin: 0; padding: 0 } /*使用此并集选择器选中页面中所有的标签,页面布局的时候会使用*/
1.4.10.交集选择器
-
使用.表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 语法:div.active
比如有一个<h4 class=‘active’></h4>这样的标签。
那么h4{ width: 100px; font-size: 14px; } .active{ color: red; text-decoration: underline; } /* 交集选择器 */ h4.active{ background: #00BFFF; }
1.4.11.伪类选择器
-
伪类选择器一般会用在超链接a标签中,使用a标签的伪类选择器,我们一定要遵循"爱恨准则" LoVe HAte
/*没有被访问的a标签的样式*/ .box ul li.item1 a:link{ color: #666; } /*访问过后的a标签的样式*/ .box ul li.item2 a:visited{ color: yellow; } /*鼠标悬停时a标签的样式*/ .box ul li.item3 a:hover{ color: green; } /*鼠标摁住的时候a标签的样式*/ .box ul li.item4 a:active{ color: yellowgreen; }
css3的选择器nth-child()
/*选中第一个元素*/ div ul li:first-child{ font-size: 20px; color: red; } /*选中最后一个元素*/ div ul li:last-child{ font-size: 20px; color: yellow; } /*选中当前指定的元素 数值从1开始*/ div ul li:nth-child(3){ font-size: 30px; color: purple; } /*n表示选中所有,这里面必须是n, 从0开始的 0的时候表示没有选中*/ div ul li:nth-child(n){ font-size: 40px; color: red; } /*偶数*/ div ul li:nth-child(2n){ font-size: 50px; color: gold; } /*奇数*/ div ul li:nth-child(2n-1){ font-size: 50px; color: yellow; } /*隔几换色 隔行换色 隔4换色 就是5n+1,隔3换色就是4n+1 */ div ul li:nth-child(5n+1){ font-size: 50px; color: red; }
1.4.12.伪元素选择器
/*设置第一个首字母的样式*/
p:first-letter{
color: red;
font-size: 30px;
}
/* 在....之前 添加内容 这个属性使用不是很频繁 了解 使用此伪元素选择器一定要结合content属性*/
p:before{
content:'alex';
}
/*在....之后 添加内容,使用非常频繁 通常与布局 有很大的关联(清除浮动)*/
p:after{
content:'&';
color: red;
font-size: 40px;
}
1.5层叠性权重相同处理
第一种现象:当权重相同时,以后来设置的属性为准,前提一定要权重相同
#box2 .wrap3 p{
color: yellow;
}
#box1 .wrap2 p{
color: red;
}
我们会发现此时显示的是红色的。
第二种现象: 第一个选择器没有选中内层标签,那么它是通过继承来设置的属性,那么它的权重为0。第二个选择器选中了内层标签,有权重。
所以 继承来的元素 权重为0。跟选中的元素没有可比性。
#box1 #box2 .wrap3{
color: red;
}
#box2 .wrap3 p{
color: green;
}
我们会发现此时显示的是绿色的。
第三种现象:如果都是继承来的属性,谁描述的近,显示谁的属性。‘就近原则’
#box1 #box2 .wrap3{
color: red;
}
.wrap1 #box2{
color: green;
}
!important 的使用。
!important:设置权重为无限大
!important 不影响继承来的权重,只影响选中的元素。不要随便使用!important,因为使用它会影响页面的布局
2.CSS
2.1CSS背景
- 1.背景:
CSS允许应用纯色作为背景,也允许使用背景图像创建相当复杂的效果
标签 | 描述 |
---|---|
background-attachment | 背景图像是否固定或者随着页面的其余部分滚动 |
background-color | 设置元素的背景颜色 |
background-image | 把图片设置为背景 |
background-position |