CSS的初步学习

Web学习Day8——CSS

前端三要素
Html:木偶 css:化妆 javascript:动态展示
(1)什么是CSS
CSS(CascadingStyleSheets)层叠样式表,是一个用于修饰文档(可以是标记语言HTML,也可以是XML或者SVN)的语言,可以将文档以更优雅的形式呈现给用户。
层叠样式表,用来美化网页的,做到结构html和表现css分离

(2)CSS声明(CSSdeclarations)
css语言的核心功能就是为特定的属性设定特点的值,css引擎通过计算出声明的每个属性来显示元素。css的属性和值都是大小写敏感的。
1.属性名和属性值之间使用:隔开 多对属性之间使用;隔开最后一对属性可以不加分号

id="one"
			class='one'
			style='根据css语法设置'
			title='one'
			<div style="width:100px;height:100px;color:red;"></div>
			<style>
				选择器{
					width:100px;
					height:100px;
					color:red
					...}
			</style>
			<div></div>
	**2.速记写法**
		border:1px solid red;
			border-width:1px;
				border-top-width
				border-left-width
				border-right-width
				border-bottom-width

			border-style
				border-top-style
				border-bottom-style
				。。。。
			border-color

	盒子=内容区+内边距+边框+外边距
				padding  margin

	
	padding-top:10px;
	padding-left:10px;
	padding-right:10px;
	padding-bottom:10px;

-->
padding:10px;//上下左右均为10px
padding:10px 20px;//上下10px 左右20px
padding:10px 20px 30px;//上10px 左右20px 下30px

padding:10px 20px 30px 40px;//上 右 下 左

margin:

	3.注释
		1.注释写法
			/*注释内容*/
		2.注释的作用
			解释说明
			更好的维护和管理
		3.注释不能嵌套使用

(3)CSS声明块(CSSdeclarationblocks)
将多个css声明写在一起,每个css声明通过“;”分隔开,最后一个css声明无需使用“;”分隔开。使用“{”“}”将多个css声明括起来,这样就构成了一个css声明块。

(4)CSS选择器和规则(CSSselectorsandrules)
在css声明块前添加一个选择器,用来指明将css声明应用在哪些元素上。

(5)CSS可读性(makeCSSreadable)
空白(Whitespace)空白意味着实际空格、制表符和新行,可以添加空白使样式表更加可读。
注释(Comments)/这里就是CSS的注释/
速记写法(Shorthand)类似于font,background,padding,border,margin这些都被称为速记属性。这些属性允许我们在一行中写多个属性值。速记属性可以节省时间,使代码整洁。
例如:padding:10px15px15px5px;
等价于padding-top:10px;padding-right:15px;padding-bottom:15px;padding-left:5px;

(6)CSS如何作用于HTML?
a.行间样式:直接在标签上书写样式
b.内部样式:在文件内部书写样式
c.外部样式:1.先创建一个css文件 2.用link标签引入
d.导入外部样式:1.先创建一个css文件;2.在style标签中用import导入这个样式文件

以上四种CSS引用方式的区别:
1.行间样式只作用当前标签 而内部标签作用于当前文件 外部样式可以被多个html文件引用
2.在实际项目开发中,最好使用或者最多使用的是外部样式,外部样式分为link引入和import引入两种方式,
3.这两种方式的区别是:1.link是XHMTL标签,除加载css外,还可以加载RSS等其他事务,而import属于css范畴,只能加载css。Link先加载css,html优先加载html。
4.引入css的优先级问题:行内>内联样式/外部引入(html的解析顺序
就近原理:哪一种设置方式更靠近元素,哪一种方式的优先级更高

(7)CSS工作原理
当一个浏览器在显示文档的时候,需要将文档内容和样式内容结合到一起,以此,在处理文档的时候包含两个阶段:
1.浏览器将HTML和CSS转换为DOM(DocumentObjectModel),DOM在计算机内存中表示文档,使得文档和CSS结合。
2.浏览器显示DOM的内容

在这里插入图片描述
(8)css选择器
1.标签选择器
标签选择器又叫元素选择器,换句话说,文档的元素就是最基本的选择器,使用元素名称直接选中元素即可。

<style>p{height:100px;border:1pxsolidred;}</style>
<p>one</p><p>two</p><p>three</p>`

2.类选择器(Class selectors)
类选择以点"."开头,后面紧跟一个类名。类名不允许有空格,与元素中class属性的值保持一致。一个元素可以有多个class的值,每个值通过空格分割开。类名相同的元素属于一类元素。

<style>.first{font-weight:bold;}
.done{text-decoration:line-through;}</style>
<ul><liclass="firstdone">CreateanHTMLdocument</li>
<liclass="seconddone">CreateaCSSstylesheet</li>
<liclass="thirddone">Linkthemalltogether</li></ul>

3.ID选择器(IDselectors)
ID选择器以"#"开头,后面紧跟一个ID名,在一个文档中,ID值不能重复,因此在选择文档中唯一元素的时候该选择器比较有用。

<style>#polite{font-family:cursive;}
#rude{font-family:monospace;text-transform:uppercase;}</style>
<pid="polite">—"Goodmorning."</p>
<pid="rude">—"Goaway!"</p>

4.普遍选择器(Universalselector)
使用"*”来表示普遍选择器,表示选择所有元素,通常用在组合选择器中。

<style>.left-nav>*{width:200px;background-color:#fafafa}</style>
<articleclass="left-nav">
<dl><dt>推荐</dt>
<ddclass="current"><iclass="icon-music"></i>发现音乐</dd></dl>
<dl><dt>我的音乐</dt><dd><iclass="icon-cloud-download"></i>下载</dd></dl></article>

5.层次选择器
(1)后代选择器(descendantselector)使用“”隔开两个选择器。例如“ulli”表示选择ul的后代元素li,li可以为ul的直接子元素,也可以为ul的孙子元素。
(2)子代选择器(childselector)n使用“>”隔开两个选择器。例如"ul>li"表示选择ul的直接子代元素li,ul的孙子元素li无法被选择到
(3)相邻同胞选择器(adjacentsiblingselector)使用“+”隔开两个选择器。例如".one+"表示选择class为"one"元素的下一个兄弟元素。
(4)一般同胞选择器(generalsiblingselector)n使用“”隔开两个选择器。例如".one
"表示选择class为"one"元素的所有兄弟元素。

6.多选择器(descendantselector)
多个选择器并列使用,使用“,”分割。例如"div,.one,#tt"表示选择div元素,class为one的元素以及id为tt的元素

7.组合选择器
多个选择器组合使用。例如"div.one"表示class为one的div元素。

8.属性选择器(Attributeselectors)
[attr]选择具有attr属性的元素、无论该属性的值为什么
[attr=val]选择具有attr属性的、并且attr的值为val元素
[attr~=val]选择具有attr属性的、并且attr的值之一为val的元素
[attr^=val]选择具有attr属性的、并且attr的值以val开头的元素
[attr$=val]选择具有attr属性的、并且attr的值以val结尾的元素
[attr*=val]选择具有attr属性的、并且attr的值包含val的元素

9.伪类选择器
伪类以":“开头,用在选择器后,用于指明元素在某种特殊的状态下才能被选中
表示子元素的 :only-child :first-child :last-child :nth-child(n)、:nth-last-child(n)
可以为元素的序号,也可以为特殊的字符,比如“odd”,“even :first-of-type、:last-of-type、 :nth-of-type(n)、:nth-last-of-type(n)
可以为元素的序号,也可以为特殊的字符,比如“odd”,“evenl
元素状态相关
:hover、:active、:focus :enabled、:disabled;:checked、:default :invalid、:valid、:required、:optional、:in-range、:out-of-range
10.伪元素选择器 伪元素以”::"开头,用在选择器后,用于选择指定的元素。
::after ::before ::first-letter ::first-line ::selection

选择器的优先级
!Important:不计入特性值中,只用了该属性了样式优先级最高
优先级根据特性值来计算,特性值越大优先级越高,特性值相同,就近原则
Style属性中:特性值1000
Id选择器:特性值100
类选择器/属性选择器/伪类选择器:特性值10
标签(元素)选择器/为原始选择器:特性值1
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值