CSS主要是美化网页、布局页面的
CSS是层叠样式(Cascading Style Sheets)的简称
CSS也是一种标记语言
CSS主要由两部分组成:选择器(选对人) 以及 一条或多条声明(做对事)
多个标签选择器中间,只需空格即可
书写规范建议:选择器与花括号之间有一个空格
CSS选择器,可以分为:基础选择器和复合选择器
基础选择器是由单个选择器组成的
基础选择器又包括:标签选择器、类选择器、id选择器和通配符选择器
标签选择器是指:用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式
<head>
<meta charset="utf-8">
<title>title>
<style>
p {
color: red;
font-size: 10px;
}
div {
color: blue;
font-size: 30px;
}
style>
head>
如果想要差异化选择不同的标签,单独选一个或者某几个标签,可以使用类选择器
可以给标签写个类: class="类名"
然后,.类名
即可找到这些类
<head>
<meta charset="utf-8">
<title>title>
<style>
.red {
color: red;
}
.nv {
color: purple;
}
style>
head>
<body>
<p class="red">男p>
<p>男p>
<p>男p>
<div class="nv">女div>
<div class="nv">女div>
<div class="red">女div>
body>
多类名
一个标签,可以有多个类名
<head>
<meta charset="utf-8">
<title>title>
<style>
.red {
background-color: red;
width: 100px;
height: 100px;
}
.font {
font-size: 50px;
}
style>
head>
<body>
<div class="red font">123div>
body>
id选择器可以为标有特定id的HTML元素指定特定的样式
HTML元素以id属性来设置id,CSS中id选择器以 ”#“ 来定义
id属性只能在每个HTML文档中出现一次
<style>
#red {
background-color: red;
}
style>
<div id="red">123div>
class选择器,类似于找某类人
id选择器,类似于找某个人
使用*,找到的是所有的标签
* {
属性名:属性值;
}
font-family
<font-family: "宋体", "字体2", "字体3">
font-size=16px;
:指定字体大小,注意要加上px
font-weight: bold;
:指定字体是否加粗或者其他样式。也可以直接写数值
字体样式font-style:斜体font-style: italic;
font可以简写,有一定的顺序
font: 12px/24px
含义是:字体大小12px,行高24px
如果
font: 12px/1.5
含义是:字体大小12px,行高为字体大小的1.5倍
text-align: center;
可以设置文字居中
text-decoration: line-through;
可以给文字添加上划线、下划线、划线
text-indent: 32px;
第一行文字缩进大小
有个好用的单位em
,其是一个字大小的宽度,也就是想缩进两个字,直接写2em
即可
line-height: 100px;
行与行之间的间距大小
按照CSS样式书写的位置(或引入的方式),CSS有三种引入方式:
在元素标签内部的style属性中设定CSS样式
<p style="font-size: 100px; color: red;">2015年,DCloud正式商用了自己 p>
该写法,没有体现出结构与样式分离,所以不推荐大量使用
内部样式表,就是写到html页面内部,将所有的CSS代码抽取出来,单独放到一个标签中
标签理论上可以放在HTML文档的任何地方,但一般都是放在
标签中
这种方式,可以控制整个页面中的元素样式设置
实际开发中基本上都是用外部样式表
样式单独写到一个CSS文件中,再把CSS文件引入到HTML页面中使用
标签名*10
再按tab键即可div>p
:div为父,p为子div+p
<div class="demo">div>
<div id="two">div>
复合选择器是建立在基础选择器之上,对基础选择器进行组合形成的
后代选择器又称为 包含选择器,可以选择父元素里面子元素。
语法:元素1 元素2 { 样式声明 }
元素1 与 元素2 一定要用空格隔开
子选择器只能选择 某一元素的最近一级子元素,也就是只能选亲儿子
语法:元素1 > 元素2 { 样式声明 }
举个栗子:
<style type="text/css">
.first > a{
color: red;
}
style>
<body>
<ol class="first">
<li>我是ol的孩子li>
<a href="">你好a>
<p>
<a>你也好a>
p>
ol>
<ol>
<li>我是ol的孩子li>
<a href="">你好a>
<p>
<a>你也好a>
p>
ol>
<ul>
<li>我是Ul的孩子li>
ul>
body>
并集选择器可以选择多组标签,同时为他们定义相同的样式,通常用于集体声明
并集选择器,使用逗号链接
最后一个选择器,不需要加逗号
语法:元素1, 元素2 { 样式声明 }
伪类选择器用于向某些选择器添加特殊效果,比如给链接添加特殊效果
伪类选择器书写最大的特点是,用冒号:表示,比如,:hover、:first-child
必须按照link、viseted、hover、active的顺序访问
即:LVHA(LV hao)
<style type="text/css">
/* a:link 未访问过的链接 */
a:link {
color: black;
text-decoration: none;
}
/* a:viseted 访问过的链接 */
a:visited {
color: orange;
}
/* a:hover 鼠标在链接上时 */
a:hover {
color: red;
}
/* a:active 鼠标点击下去,没有松开时的状态
类似于,heightLight
*/
a:active {
color: green;
}
style>
:focus伪类选择器用于选取获得焦点的表单元素
焦点就是光标,一般input类表单元素才能获取
input:focus{
background-color: red;
}
元素显示模式就是:元素(标签)以什么方式显示,比如 HTML元素一般分为:块元素和行内元素两种 常见的块元素有: 其中, 注意: 常见的行内元素有: 其中, 行内元素的特点: 注意: 包括: 它们同时具有块元素和行内元素的特点 行内元素转换为块元素: 块元素转换为行内元素: 转换为行内块元素: 上述属性可以简写为一个:
块元素
<h1>~<h6>,<p>,<div>,<ul>,<ol>,<li>等
块级元素的特点:
文字类的元素内不能使用块级元素行内元素(内联元素)
<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等
标签是最典型的行内元素。
链接里面不能再放链接行内块元素
<img/>、<input>、<td>
元素之间的转换
display:block;
display:inline;
display:inline-block
a{
display: block;
}
测试联系
<style>
a{
display: block;
background-color: darkgray;
width: 230px;
height: 40px;
font-size: 14px;
text-indent: 2em;
line-height: 40px;
}
a:link{
color: white;
text-decoration: none;
}
a:hover{
background-color: orange;
}
style>
<body>
<a href="#">手机 电话卡a>
<a href="#">电视 盒子a>
<a href="#">笔记本 平板a>
<a href="#">出行 穿戴a>
body>
CSS的背景设置
background-image
设置背景图片,默认是平铺的(repeat)
可以设置非平铺background-repeat: no-repeat;
如果是方位名词:background-position:
后面可以跟上 方位词,表示位置
如果是精确值:background-position: xValue, yValue
如果后面只有一个精确值,那么,该值是x值,y默认居中对齐div{
width: 300px;
height: 300px;
background-image: url(./img/3.png);
background-repeat: no-repeat;
background-color: pink;
background-position: center right;
}
background-attachment: fixed;
图片是固定fixed,还是可滚动scroll
background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
中间以空格分开
以上顺序不固定,可以任意顺序。但一般是按这个顺序练习:五彩导航
<head>
<meta charset="utf-8" />
<title>title>
<style type="text/css">
.nav a{
display: inline-block;
width: 120px;
height: 58px;
text-align: center;
line-height: 48px;
color: white;
}
.nav a:link{
text-decoration: none;
}
.nav #a{
background: url(img/bg5.png) no-repeat left top;
}
.nav #a:hover{
background-image: url(img/bg4.png);
}
.nav #b{
background: url(img/bg2.png) no-repeat;
}
.nav #b:hover{
background-image: url(img/bg22.png);
}
.nav #c{
background: url(img/bg11.png) no-repeat;
}
.nav #c:hover{
background-image: url(img/bg1.png);
}
.nav #d{
background: url(img/bg4.png) no-repeat;
}
.nav #d:hover{
background-image: url(img/bg3.png);
}
style>
head>
<body>
<div class="nav">
<a href="" id="a">五彩导航a>
<a href="" id="b">五彩导航a>
<a href="" id="c">五彩导航a>
<a href="" id="d">五彩导航a>
div>
body>