前端三剑客之——CSS

目录

1.CSS概述,语法

1.1概述

1.2语法

2.样式选择器

3.标签分类

 4.div和span

5.文本

6.列表

7.盒子模型(重点)

 8. 伪类

9.透明度

10.背景

11.display标签类型转换

12.定位

12.1相对定位

12.2绝对定位 

 13.浮动

1.CSS概述,语法

       1.1概述

        html是网页的骨架(内容),css专门用作修饰网页的内容,css语法写在一个css文件中或者html的某一个部分。

        1.2语法

样式表举例定义位置
行级样式表<a href="" style="color: red; font-size: 40px;" >举例</a>style在标签内定义
内嵌样式表<a class="a1">举例</a>a1定义在head标签里的style内
外部样式表导入语法:<link href="" rel="stylesheet" />样式来源与外部css文件,使用需导入

如果它们三种同时存在时,采用的是就近原则,行级>内嵌>外部

2.样式选择器

种类定义方式调用方式
标签选择器 标签名{样式表}所修饰的标签添加
类选择器.类名{样式表}class = "类名"
id选择器#id名{样式表}id="id名"
通配选择器*{样式表}给所有的标签添加样式
优先等级从高到低:id选择器>类选择器 >标签选择器>通配选择器

        演示: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>样式选择器</title>
		<style type="text/css">
			p{
				color: red;
			}
			.p1{
				color: green;
			}
			.p2{
				color: blue;
			}
			#p3{
				color: yellow;
			}
			*{
				
			}
			.p1,#p3{  /*选择器组合:将一些共同的修饰样式可以放在一起*/
				font-size: 40px;
			}
		</style>
	</head>
	<body>
		<!-- 
			当一个标签被多个选择器修饰时  注意:
				例如:.p1{
						color : blue;
			          }
					*{
						color:red;
						font-size = 30px
					}
					.p1{}只会代替*{}中的color,font-size会按照*{}来修饰
		-->
		<p id="p3">春晓</p>
		<p class="p1">春眠不觉晓,</p>
		<p class="p2">处处闻啼鸟。</p>
		<p class="p1">夜来风雨声,</p>
		<p class="p2">花落知多少。</p>
	</body>
</html>

        运行到浏览器.......

3.标签分类

块级标签:标题标签、<p>、<hr>、<ul>、<table>、<form>

       1.会自动换行,无论内容有多少都会独占一行,可以调整宽高。

       2.默认的大小:宽与body一样,高与内容一样,没有内容高度为0
       3.p标签不可以包含任何的块标签,一般使用块级标签包含行级标签

行级标签:<span>、<br/>、<a>

       只占自身内容的大小,不会占一行,不能设置宽高 

行级块标签:<img>、<input>、textarea

       可以设置大小,但是不占一行 inlineblock

 4.div和span

        我们延续上篇的HTML再讲两个标签,分别是div标签和span标签。

div :块级标签,可以包含任何标签,没有默认的样式,定义什么样式就变成什么样子。

span:是一个行级标签,没有任何默认样式,主要用来选中文本。

        演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>div和span</title>
	</head>
	<body>
		<div style="background-color: #FF0000; width: 300px; height: 200px;">我爱中国</div>
		<span style="color: #0000FF;">我爱中国</span>
	</body>
</html>

        运行到浏览器:

5.文本

        px像素单位,em表示当前文本中一个文字的大小。

样式修饰作用
color: red;修改文本字体颜色
font-size: 20px;修改字体大小
font-family: 楷体; 字体样式
font-weight:700;字体粗细
text-decoration: underline;下划线
text-decoration: line-through;中间穿透线
font-style: italic;斜体
line-height: 50px; 行高
letter-spacing: 20px;字与字之间的间距
text-indent: 2em;首行缩进两个字体的大小
text-decoration: none;定义标准文本,可去除超链接默认的下划线

6.列表

样式修饰作用
list-style-image: url(img/Male.gif);给列表项前加上图标
list-style-type: none表项前面的符号
list-style-position: outside;

 图标的位置 (分离向外)

 简写方式(先后顺序无要求):list-style:  outside  url(img/Female.gif)  none;

7.盒子模型(重点)

        盒子模型的思想是把块级标签想象成一个盒子,分别有内容区,内边距,外边距以及边框。

在CSS中可以用padding(内边距),margin(外边距),border(边框),width(内容区宽)和height(内容

区高),以此来调节标签所处的位置以及大小。

举例:div

                1.div是一个块级标签,可以认为是一个盒子
                2.<div></div> 默认宽与body一样,高是0
                3.<div>div</div>默认宽与body一样,高是内容的高度
                4.div三个字母都是在内容区中放置
                5.width和height都是设置内容区的大小,而不是整个标签的大小

                6.内边距就是内容区到边框的距离,不能放置内容

                7.外边距,不影响标签的大小,但位置会有所改变

                8.div的区域是内容加内边距

        演示: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>盒子模型</title>
		<style type="text/css">
			*{
				margin: 0px; /*取消body的边距*/
				padding: 0px; 
			}
			.p1{
				width: 200px;/* 内容区的宽 */
				height: 200px;/* 内容区的高 */
				background-color: #0000FF;
				color: white;
				padding: 10px; /* 内边距就是内容区到边框的距离,不能放置内容*/
				/* padding : 5px 6px 7px 8px 上 右 下 左 */
				/* border-top-width: 1px;
				border-top-style: solid;
				border-top-color: red;  繁琐*/
				border-top: 5px solid red;
				margin-top : 10px    /*外边距,不影响标签的大小,但位置会有所改变*/
			}
		</style>
	</head>
	<body>
		 <div>4</div>
		 <div class="p1">div</div>
		 <div>1</div>
	</body>
</html>

        运行到浏览器:

 8. 伪类

        伪类相对来说比较简单,自行理解。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>伪类</title>
		<style type="text/css">
			.in1{
				background-color: lightcyan;
			}
			.in1:hover{ /* hover表示当鼠标悬停在这个标签上时,就会进入到这个样式表中 */
				background-color: saddlebrown;
			}
	  	   a{
				color: #0000FF;
			}
			a:hover{
				color: #008000;
			}
			a:active{  /*active表示当鼠标点击这个标签时,就会进入到这个样式表中 */
				background-color: orange;
			}
			.in2:focus{ /* foucus 输入标签点击聚焦,就会进入到这个样式表中*/
				background-color: blueviolet;
			}
		</style>
	</head>
	<body>
		<input type="button" class="in1" value="保存"/>
		<input type="text" class="in2"/>
     	<a href="">非凡</a> 
	</body>
</html>

9.透明度

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>透明度</title>
		<style type="text/css">
			img{
				opacity: 0.5; /* 显示度数  1表示全显示  0表示透明*/
			}
		</style>
	</head>
	<body>
		<img src="./img/logo.gif" />
		1111
	</body>
</html>

10.背景

<html>
	<head>
		<meta charset="utf-8">
		<title>背景练习</title>
		<style type="text/css">
			p{
				width: 800px;
				height: 600px;
				background-color: blanchedalmond;/* 给段落加背景颜色 */
				background-image: url(./img/logo.gif); /* 背景图片  如果背景图片尺寸不否,那么图片就会向左右上下重复延伸*/
				background-repeat: no-repeat;/* 背景不重复 */
				background-position: center;
			}
		</style>
	</head>
	<body>
		<p>
			这是段落
		</p>
	</body>
</html>

11.display标签类型转换

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>display属性</title>
	</head>
	<body>
		<!-- 
			display :设置标签的类型
			-->
			<!-- 块级变行级 -->
			<p style="display: inline;">aaaaaaa</p>sdasdasdas
			<!-- 行级变块级 -->
			<a style="display: block;" href="">非凡</a>
            <!-- 让标签在网页中消失,不占空间 -->
			<a style="display: none;" href="">百度</a> 
	</body>
</html>

12.定位

        12.1相对定位

         开启相对定位,才能设置位移,否则没有任何变化 相对自己改变位置,并且原来的空间不会被其他标签占用。

        移动参照物是自己。

        演示: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>定位</title>
		<style type="text/css">
			.box1{
				width: 100px;
				height:100px;
				background-color: #0000FF;
				position: relative;/* 开启相对定位,才能设置位移,否则没有任何变化 相对自己改变位置,并且原来的空间不会被占用*/
				left: 100px;
				top: 100px;
			}
			.box2{
				width: 100px;
				height:100px;
				background-color: #FF0000;
			}
		</style>
	</head>
	<body>
		<div class="box1">
			div1
		</div>
		<div class="box2">
			div2
		</div>
	</body>
</html>

        运行到浏览器:

        12.2绝对定位 

         开启绝对定位,标签会脱离了文档流,漂浮起来 原来的空间会被其他的标签占用。
         移动参照物:离他最近的开启了定位的祖先标签,如果都没有,那么就以浏览器的边框作为参照物 。

        演示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>绝对定位</title>
		<style type="text/css">
			.box1{
				width: 100px;
				height:100px;
				background-color: #0000FF;
				position: absolute;/*开启绝对定位*/
				left: 100px;
				top: 100px;
			}
			.box2{
				width: 100px;
				height:100px;
				background-color: #FF0000;
			}
			.box3{
				width: 200px;
				height: 200px;
				background-color: #FFA500;
				position: relative;/*开启了相对定位,此时div1移动的参照物就是div3*/
			}
		</style>
	</head>
	<body>
		<div class="box3">
			div3
		    <div class="box1">
			    div1
		    </div>
		</div>
		<div class="box2">
			div2
		</div>
	</body>
</html>

         运行到浏览器:

 13.浮动

        div是块级标签,如果要把两个div放到一行,就要用到浮动。

         浮动就是从原来的(二维平面)漂浮起来了,他在原来的空间就释放了,下面的标签就会上移,浮动后的标签宽度默认是内容大小,所以需要设置尺寸。

        演示: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>浮动</title>
		<style type="text/css">
			.box1{
				background-color: #0000FF;
				float: left;
				width: 200px;
			}
			.box2{
				background-color: #FF0000;
				float: left;
				width: 200px;
			}
		</style>
	</head>
	<body>
		<div class="box1">div1</div>
		<div class="box2">div2</div>
	</body>
</html>

         运行到浏览器:

        由上面的演示我们发现,两个标签都脱离文档流,都飘起来了,body里面没有内容,但是如果两个标签下面还有内容的话,如果没有使用浮动,是不是就跑到div1下面去了?

 就比如:

        如果这样的话,盒子的高度还是0,并没有被内容所撑起来,所以我们需要清除左浮动,会将盒子撑起来,如果不清除浮动的话,以后下面的内容就会跑到上面去。

         即<div style="clear: left;"></div> 

         修改:

下篇我们谈谈javaScript.......... 

javaScript点我直接走~~~~

HTML我在这~~~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值