CSS总结

CSS的使用

  • CSS与html结合使用 根据定义CSS的位置不同,分为行内样式、内部样式和外部样式

行内样式

  • 也称为内联样式 直接在标签中编写样式,通过使用标签内部的style属性;弊端:只能对当前的标签生效,没有做到内容和样式相分离,耦合度太高。

语法:

<html标签 style="样式1:值1;样式2:值2;....样式N:值N;">hello my css</html标签> 案例:
<div style="color: red;">hello my css</div>

内部样式

  • 定义在head标签内,通过style标签,该标签内容就是CSS代码
<!DOCTYPE html>
<html>
    <head>
		<meta charset="UTF-8"> 
		<title>内部样式</title> 
		<style>
            div{
                color: red;
			}
        </style>
    </head>
    <body>
        <div>hello my css</div>
    </body>
</html>
外部样式
  • 提前定义css资源文件,在head标签内,定义link标签引入外部样式文件
lina.css文件,放在与html页面同级的css文件夹中: 
div {
	color: red; 
}


html页面中的引入 
<!DOCTYPE html> 
<html>
	<head>
		<meta charset="UTF-8">
		<title>外部样式</title>
		<link rel="stylesheet" href="css/lina.css" />
    </head>
    <body>
        <div>hello my css</div>
    </body>
</html>

区别

  • 作用域的范围:外部样式表>内部样式表>行内样式表
  • 优先级:外部样式表<内部样式表<行内样式表;
  • 同样的样式作用在同一个标签身上:就近原则。
  • 不同样式作用在同一个标签身上,叠加生效。

CSS语法

基本格式由两个主要的部分构成:

  • 选择器
  • 一条或多条声明
选择器 {
	属性1:值1;
	属性2:值2;
	... 
}
选择器:筛选具有相似特征的元素 属性和属性值之间用冒号分割,不同的属性之间用分号隔开。

基本选择器

1. id选择器

  1. 选择具有相同id属性值的元素,建议html页面中的id值唯一
  2. id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式。 HTML元素以id属性来设置id选择器,CSS 中 id 选择器以 “#” 来定义。 PS: ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用。
    虽然多个元素可以使用同一个id选择器控制样式,但是不推荐。如果需要同样的样式对多个标签生效, 使用class选择器。

class选择器

  • 选择具有相同的class属性值的元素。
    class 选择器用于描述一组元素的样式,class 选择器有别于id选择器。 class可以在多个元素中使用。 class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点"."号显示

元素选择器/标签选择器

  • 选择具有相同标签名称的元素。

    定义选择器语法:标签名称{};PS:标签名称必须是html提供好的标签。

    使用标签选择器:自动使用在所有的同名的标签上
    在这里插入图片描述

优先级

  • 选择器的优先级 ID选择器 > 类选择器 > 标签选择器 当多个选择器作用在同一个标签上的时候,如果属性冲突,看优先级;如果不冲突,样式叠加生效
  • 样式表的优先级 行内样式 > 内部样式 >外部样式
  • 同样,三个样式表中都有内容作用在同一个html标签的时候,如果属性冲突,看优先级;如果不冲突, 样式叠加生效

width height:宽高

  • PS:只有块状元素可以设置宽高,行级元素设置不生效
  • 取值方式有2种: 数值 绝对数字 单位是像素PX 百分比:占据父元素的比例

背景样式

在这里插入图片描述

文本样式

在这里插入图片描述

列表样式

在这里插入图片描述

边框样式

在这里插入图片描述

HTML&CSS调试利器

  • 以谷歌浏览器为例说明。 快捷键F12或者工具条中的开发者工具调出以下内容。 在elements中可以看到当前页面的所有标签,在styles中可以看到html元素对应的样式。

在这里插入图片描述

盒子模型

概念

  • 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。 CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。
    盒模型允许我们在其它元素和周围元素边框之间的空间放置元素

盒子模型说明图

在这里插入图片描述

模型例子

在这里插入图片描述
在这里插入图片描述

盒子的宽度和高度

元素的实际宽度和高度: 当我们计算一个元素实际在页面占有的总宽度计算公式是这样的:

> 总元素宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

> 元素的总高度最终计算公式是这样的: 总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

如果想要设置的宽度直接就是元素的实际宽度,通过box-sizing 属性

在这里插入图片描述

其他常用样式

  • float 浮动

CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。
Float(浮动),往往是用于图像,但它在布局时一样非常有用。

后代选择器

交集选择器

条件:交集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签二的特点。

语法:h3.class{ color:red; }
其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,例如div.list。
交集选择器是并且的意思。 即…又…的意思
例如: table.bg 选择的是: 类名为 .bg 的 表格标签,但用的相对来说比较少。

后代选择器

概念 后代选择器又称为包含选择器。

作用 用来选择元素或元素组的子孙后代

其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,先写父亲爷爷,再写儿子孙子。

格式:父级 子级{属性:属性值;属性:属性值;} 语法:.class h3{color:red;font-size:16px;}

当标签发生嵌套时,内层标签就成为外层标签的后代。 子孙后代都可以这么选择。 或者说,它能选择任何包含在内 的标签。

子元素选择器
作用:子元素选择器只能选择作为某元素子元素(亲儿子)的元素。 其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接。
语法:.class>h3{color:red;font-size:14px;}
比如:
.demo > h3 {color: red;} 说明 h3 一定是demo 亲儿子。 demo 元素包含着h3

选择器实现代码

<!DOCTYPE html>
<html>
    <head>
		<meta charset="UTF-8"> 
		<title>复合选择器</title> 
		<style>
		/*全局选择器: 一般去掉标签的一些默认效果的时候使用,或者整站通用效果时使用。但是不推荐*/
		
		*{
			color: #333;/*定义全局文字颜色,统一色彩基调*/
		}
		/*并集选择器:通常用于集体声明 
		替换全局选择器;
		*/
		div,p,dldt,dd{ 
			/*去掉浏览器的默认样式*/ 
			margin: 0;
			padding: 0;
			color: #333;/*定义全局文字颜色,统一色彩基调*/ 
			}
			/*交集选择器*/ 
			li.myli{
				color: red; 
			}
			/*后代选择器*/ 
			ul li{
                font-size: 28px;
            }
			.myUL li{
				font-family: "微软雅黑";
			}
			.myUL li a{
                text-decoration: line-through;
            }
			/*子元素选择器*/ 
			.demo>h3{
				color: red; 
			}
		</style>

	 </head>
    	<body>
			<ul>
				<li>li11111111111</li>
				<li class="myli">li22222222222</li> 
				<li>li33333333333</li>
				<li>li44444444444<a href="">点击我试试</a></li> <li class="myUL">
                <ul>
                    <li>li11111111111</li>
                    <li class="myli">li22222222222</li>
                    <li>li33333333333</li>
                    <li>li44444444444
						<a href="">点击我试试</a> 
					</li>
				</ul>
			</li>
		</ul> 
		<ol>
            <li>li11111111111</li>
            <li>li22222222222</li>
            <li>li33333333333</li>
            <li>li44444444444</li>
        </ol>
        <div class="demo">
			div1
			<h3>静夜思</h3> 
			<ul>
				<li><h3>静夜思----li</h3></li> 
			</ul>
		</div>
    </body>
</html>

复合选择器比较

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值