02-CSS快速入门

在这里插入图片描述

问路总比迷路好

1、CSS 概述


CSS(全称 Cascading Style Sheets)层叠式样式表。是用于(增强)控制网页样式并允许将样式信息与网页内容分离的一种标记语言。直白一点就是用来美化页面的。

语法规则:

image


选择器: 浏览器根据"选择器"决定CSS样式影响的HTML元素(标签)。

属性(property): 是你要改变的样式名,并且每一个属性都有一个值。属性和值被冒号分开,并由花括号包裹,这样就组成了一个完整的样式声明(declaration),如 p{color:blue}

多个声明: 如果定义不止一个声明,则需要用分号将每个声明分开。然后最后一条声明的末尾可以不加分号。如 p{color:blue;font-size:30px}


CSS注释:

/*注释内容*/

2、引入CSS样式表


CSS有内部式样式表、行内样式表、外部样式表。

2.1、内部样式表(内嵌样式表)


内部样式表是将CSS代码集中写在HTML文档的head头部标签之间,并且用style标签定义。

语法格式如下:

<head>
    <style type="text/css">
          选择器 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3;}
    </style>
</head>

语法中,style标签一般位于head标签中title标签之后,也可以把他放在HTML文档的任何地方。

type=“text/CSS” 在html5中可以省略, 写上也比较符合规范, 所以这个地方可以写也可以省略。

【示例 2-1】内部式样式表应用

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        div {
            /*
                边框的宽度为1像素
                边框的样式为实线
                边框的颜色为红色
            */
            border: 1px solid red;
        }
        span{
            /*
                字体大小为40像素
                字体名称为华文彩云
            */
            font: 40px "华文彩云";
            /* 字体颜色为蓝色 */
            color: blue;
        }
    </style>
</head>
<body>
    <div>div标签1</div>
    <div>div标签2</div>
    <span>span标签1</span>
    <span>span标签2</span>
</body>
</html>

执行结果如下:
image


2.2、行内样式表(内联样式表)


行内样式表是通过标签的style属性来设置元素的样式。

语法格式如下:

<标签名 style="属性1:属性值1;属性2:属性值2;属性3:属性值3;"

语法中style是标签的属性,实际上任何HTML标签都拥有style属性,用来设置行内样式。其中属性和值的书写规范与CSS样式规则相同,行内式只对其所在的标签及嵌套在其中的子标签起作用

【示例 2-2】行内式的应用

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>CSS行内样式表</title>
</head>
<body>
    <P style="color: orangered;font-family: '仿宋';font-size: 30px;">段落标签</P>
    <P style="color: blue;font-family: '仿宋';font-size: 20px;">段落标签</P>
    <P style="color: green;font-family: '仿宋';font-size: 35px;">段落标签</P>
</body>
</html>

执行结果如下:
image


2.3、外部样式表(外链样式表)


外部样式表是将所有的样式放在一个或多个以 " .CSS" 为扩展名的外部样式表文件中,通过link标签将CSS文件连接到HTML文档中。

语法格式如下:

<head>
	<link href="CSS文件路径" type="text/CSS" rel="stylesheet"/>
</head>

link是单标签,具体描述如下:

  • href: 定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径。
  • type: 定义所链接文档的类型,在这里需要指定为"text/CSS",表示链接的外部文件为CSS样式表。
  • rel: 定义当前文档与被链接文档之间的关系,在这里需要指定为"stylesheet",表示被链接的文档是一个样式。

【示例 2-3】外部样式表的应用

a.css

p{
    font: 30px '仿宋';
    margin: 0 auto;
    
}
#a{color: red;}
#b{color: green;}
#c{color: blue;}

html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS外部样式表</title>
    <link href="../style/a.css" type="text/CSS" rel="stylesheet"/>
</head>
<body>
    <p id="a">你好</p>
    <p id="b">你好</p>
    <p id="c">你好</p>
</body>
</html>

执行结果如下:
image


三种样式表总结:

image


3、CSS 选择器


3.1、标签选择器

标签选择器是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。

语法格式如下:

标签名{
	属性1:属性值1;
	属性2:属性值2;
	属性3:属性值3
}

标签选择器最大的优点是能快速为页面中同类型的标签统一样式,同时这也是他的缺点,不能设计差异化样式。

【示例 3-1】标签选择器的应用

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>标签选择器的应用</title>

    <style type="text/CSS">
        p { font: 20px '宋体'; 
            /*text-align:center 居中对齐 */ 
            text-align:center
        }
        div {
            /*边框以 1像素 虚线  蓝色  实现 */
            border: 1px dashed blue;
         }
    </style>
</head>
<body>
    <div>
        <p>登鹳雀楼</p>
    </div>
    <div>
        <p>王之涣</p>
    </div>
    <div>
        <p>白日依山尽,</p>
    </div>
    <div>
        <p>黄河入海流。</p>
    </div>
    <div>
        <p>欲穷千里目,</p>
    </div>
    <div>
        <p>更上一层楼。</p>
    </div>
</body>
</html>

执行结果如下:

image


3.2、 id 选择器


id选择器使用 “#” 进行标识,后面紧跟id名,其基本语法格式如下:

#id名{
  属性1:属性值1;
  属性2:属性值2;
  属性3:属性值3
}

该语法中,id名即为HTML元素的id属性值,大多数HTML元素都可以定义id属性,元素的id值是唯一的,只能对应于文档中某一个具体的元素。

【示例 3-2】id选择器的应用

<!DOCTYPE html>
<html lang="zh_CN">

<head>
    <meta charset="UTF-8">
    <title>id选择器的应用</title>

    <style type="text/CSS">
        p { font: 20px '宋体'; 
            /*text-align:center 居中对齐 */ 
            text-align:center
        }
        div {
            /*边框以 1像素 虚线  蓝色  实现 */
            border: 5px dashed;
         }
        
         #div1{border-color: red;}
         #div2{border-color: yellow;}
         #div3{border-color: blue;}
         #div4{border-color: green;}
         #div5{border-color: orange;}
         #div6{border-color: purple;}

    </style>
</head>

<body>
    <div id="div1">
        <p>登鹳雀楼</p>
    </div>
    <div id="div2">
        <p>王之涣</p>
    </div>
    <div id="div3">
        <p>白日依山尽,</p>
    </div>
    <div id="div4">
        <p>黄河入海流。</p>
    </div>
    <div id="div5">
        <p>欲穷千里目,</p>
    </div>
    <div id="div6">
        <p>更上一层楼。</p>
    </div>
</body>

</html>

执行结果如下:
image


3.3、类选择器


语法格式如下:

.类名{
    属性1:属性值1;
    属性2:属性值2;
    属性3:属性值3
}

该语法中,类名即为HTML元素的class属性值。

id选择器和类选择器区别:

  • W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class。
  • 类选择器(class) 好比人的名字, 是可以多次重复使用的, 比如 张伟 王伟 李伟 李娜。
  • id选择器 好比人的身份证号码, 全中国是唯一的, 不得重复。 只能使用一次。
  • id选择器和类选择器最大的不同在于 使用次数上。

3.4、通配符选择器


通配符选择器用 "* "号表示,他是所有选择器中作用范围最广的,能匹配页面中所有的元素。

语法格式如下:

*{
    属性1:属性值1;
    属性2:属性值2
}

【示例 3-3】清除所有HTML标记的默认边距

*{
    margin:0; /*定义外边距*/
    padding:0;/*定义内边距*/
}

3.5、组合选择器


语法格式如下:

选择器1,选择器2,选择器n{
    属性1:属性值1;
    属性2:属性值2;
    属性3:属性值3
}

组合选择器可以让多个选择器共用一个css样式代码。

【示例 3-4】组合选择器的应用

<!DOCTYPE html>
<html lang="zh_CN">

<head>
    <meta charset="UTF-8">
    <title>组合选择器的应用</title>
    <style type="text/css">
        .class01,#id01{
            color: blue;
            font-size: 20px;
            border:1px solid yellow;
        }
    </style>
</head>

<body>
    <div class="class01">div标签1</div><br/>
    <span id="id01">span标签1</span><br/>
    <div>div标签2</div><br/>
    <div class="class01">div标签3</div><br/>
    <span>span标签2</span><br/>

</body>

</html>

执行结果如下:
image


选择器的优先级:

  • !important (最高)
  • 行内样式
  • id选择器
  • 类选择器
  • 标签选择器
  • *通配符选择器(最低)

4、常用样式


a、颜色:

  • 颜色可以写颜色名:如 black、blue、red、green等。

  • 颜色也可以写rgb值和十六进制表示值:如rgb(255,0,0),#0368E5,如果写十六进制值必须加#号。


b、宽度(width):

  • 宽度可以写像素值:19px。

  • 也可以写百分百比值:20%


c、高度(height):

  • 高度可以写像素值:19px。

  • 也可以写百分百比值:20%


d、背景颜色:

  • background-color:#0F2D4C;

e、字体样式:

  • color:#FF0000;字体颜色为红色
  • font-size:20px; 字体大小
  • font-family:‘宋体’、‘楷体’、‘黑体’;字体名称
  • font-weight:normal/bold; 字体粗细 ,normal:正常,bold:加粗。
  • font-style:normal/italic/oblique;字体风格,italic:斜体,oblique:倾斜。

f、红色1像素实现边框:

  • border:1px solid #FF0000;

g、div居中:

  • margin-left:auto;margin-right:auto;
  • 简写 margin:0 auto;

h、文本居中:

  • text-align:center;

i、超链接去下划线:

  • text-decoration: none;

j、表格细线:

table {
    /* 设置边框 */
    border: 1px solid red;
    /* 将边框合并 */
    border-collapse: collapse;
}

td,th {
    /* 设置边框 */
    border: 1px solid red;
}

k、列表去除修饰:

ul {
    list-style:none;
}

【示例 3-1】常用样式1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS 常用样式</title>
    <style type="text/css">
        div {
            /* 字体颜色 */
            color: red;
            /* 盒子边框 */
            border: 1px solid purple;
            /* 盒子宽度 */
            width: 300px;
            /* 盒子高度 */
            height: 300px;
            /* 盒子的背景颜色 */
            background-color: green;
            /* 字体大小 */
            font-size: 30px;
            /* 盒子居中 */
            margin-left: auto;
            margin-right: auto;
            /* 文本居中 */
            text-align: center;
        }
        
        a {
            /* 去下划线 */
            text-decoration: none;
        }
        
        table {
            /* 设置边框 */
            border: 1px solid red;
            /* 将边框合并 */
            border-collapse: collapse;
        }
        
        td,th {
            /* 设置边框 */
            border: 1px solid red;
        }
        
        ul {
            /* 无序列表去除修饰 */
            list-style: none;
        }
    </style>
</head>
<body>
    <ul>
        <li>好好学习!</li>
        <li>天天向上!</li>
    </ul>

    <table>
        <tr>
            <th>ID</th>
            <th>姓名</th>
            <th>职位</th>
        </tr>
        <tr>
            <td>001</td>
            <td>白豆五</td>
            <td>算法工程师</td>
        </tr>
        <tr>
            <td>002</td>
            <td>手可摘棉花</td>
            <td>产品经理</td>
        </tr>
    </table>
    <a href="http://www.baidu.com">百度一下</a>
    <div>我是div标签</div>
</body>
</html>

执行结果如下:
image

5、盒子模型


  • 盒子模型:英文 " box model "
  • 盒子顾名思义就是用来装东西的容器
  • 所有HTML元素都可以看作盒子,比如:div、span、a、font标签等
  • 但是,图片、表单元素一律看作是文本,它们并不是盒子。

盒子中的区域

在盒子中有5个主要的属性:width、height、padding、border、margin。
在这里插入图片描述

  • width和height:内容的宽度、高度(不是盒子的宽度、高度)。
  • padding:内边距。
  • border:边框。
  • margin:外边距。

元素的宽度和高度

元素的真实宽度 = 内容宽度+左外边距+右外边距+左内边距+右内边距+左边框+右边框

元素的真实高度 = 高度+顶部外边距+底部外边距+上边框+下边框+顶部内边距+底部内边距


示例1:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div{
				width: 200px;
				height: 150px;
				margin-top: 40px;
				margin-left: 80px;
				padding:40px;
				background-color: aqua;
				border: 1px solid red;
			}
		</style>
	</head>
	<body>
		<div>
			盒子模型
		</div>
	</body>
</html>

示例2:

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div{
				width: 200px;
				height: 200px;
				border: 10px solid red;
				border-right-color: blue;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
</html>

在这里插入图片描述

示例3:

<!DOCTYPE html>
<html>
	<head>
		<style>
			p.dotted {
				/* 点状边框 */
				border-style: dotted;
			}

			p.dashed {
				/* 虚线边框 */
				border-style: dashed;
			}

			p.solid {
				/* 实线边框 */
				border-style: solid;
			}

			p.double {
				/* 双线边框 */
				border-style: double;
			}

			p.groove {
				/* 凹槽边框 */
				border-style: groove;
			}

			p.ridge {
				/* 垄状边框 */
				border-style: ridge;
			}

			p.inset {
				/* 3D inset 边框 */
				border-style: inset;
			}

			p.outset {
				/* 3D outset 边框 */
				border-style: outset;
			}

			p.none {
				/* 无边框 */
				border-style: none;
			}

			p.hidden {
				/* 隐藏边框 */
				border-style: hidden;
			}

			p.mix {
				/* 混合边框 */
				border-style: dotted dashed solid double;
			}
		</style>
	</head>
	<body>
		<p class="dotted">点状边框。</p>
		<p class="dashed">虚线边框。</p>
		<p class="solid">实线边框。</p>
		<p class="double">双线边框。</p>
		<p class="groove">凹槽边框。</p>
		<p class="ridge">垄状边框。</p>
		<p class="inset">3D inset 边框。</p>
		<p class="outset">3D outset 边框。</p>
		<p class="none">无边框。</p>
		<p class="hidden">隐藏边框。</p>
		<p class="mix">混合边框。</p>
	</body>
</html>

在这里插入图片描述

示例4:

<!DOCTYPE html>
<html>
	<head>
		<style>
			div{
				width: 0px;
				height: 0px;
				border: 50px solid green;
				border-top-color: red;
			}
		</style>
	</head>
	<body>
		<div></div>

	</body>
</html>

在这里插入图片描述


示例5:

<!DOCTYPE html>
<html>
	<head>
		<style>
			div{
				width: 0px;
				height: 0px;
				border: 50px solid green;
				border-top-color: red;
				border-bottom: none;
			}
		</style>
	</head>
	<body>
		<div></div>

	</body>
</html>

在这里插入图片描述

示例6:

<!DOCTYPE html>
<html>
	<head>
		<style>
			div{
				width: 0px;
				height: 0px;
				border: 50px solid white;
				border-top-color: red;
				border-bottom: none;
			}
		</style>
	</head>
	<body>
		<div></div>
	</body>
</html>

在这里插入图片描述


6、浮动


块级元素与行内元素

  • 所有的 XHTML 页面元素只有两种,一种是块级元素、一种是行内元素;
  • 块级元素一般都从新行开始,它可以容纳行内元素和块级元素,例如:div、p、table等;
  • 行内元素只容纳文本或其它行内元素,例如:span、img、a、input等;
  • 使用 CSS 的 display 属性(的 block 和 inline值),能使行内和块级元素之间相互转换;

示例:

<!DOCTYPE html>
<html>
	<head>
		<style>
			p{
				/* 转行内元素 */
				display: inline;
			}
		</style>
	</head>
	<body>
		<p>段落1</p>
		<p>段落2</p>
	</body>
</html>

在这里插入图片描述


CSS的布局方式

  • 文档流
  • 浮动
  • 定位

浮动

  • 在网页布局中,标准流不能满足我们的需求,因此使用浮动来完成网页布局;
  • 浮动的元素可以向页面的左边或者右边移动,直到其边缘接触到其父元素的边框或者另外一个浮动元素的边框。
  • CSS 提供 float 属性用于设置元素的浮动,它包含三个值,分别是left、right和none;

示例:

<!DOCTYPE html>
<html lang="zh">
	<head>
		<meta charset="UTF-8">
		<style type="text/css">
			div {
				float: left;
			}

			#div1 {
				background-color: aquamarine;
				width: 300px;
				height: 200px;
			}

			#div2 {
				background-color: beige;
				width: 200px;
				height: 200px;
			}
		</style>
	</head>
	<body>
		<div id="div1"></div>
		<div id="div2"></div>
	</body>
</html>

在这里插入图片描述


清除浮动

使用浮动后,会产生很多意外的结果,因为浮动的元素会脱离原来的标准流。

浮动元素可能会覆盖一些非浮动的元素,这时需要使用 CSS 的 clear 属性来清除浮动。

clear属性的四个值:

  • none:允许两边都可以有浮动对象;
  • both:不允许有浮动对象;
  • left:不允许左边有浮动对象;
  • right:不允许右边有浮动对象;

7、定位


在CSS中用position属性实现定位,使用position定位可以定义元素相对其父元素或其它元素的精确定位。

position属性的四个关键值:

  • static 默认值,表示无定位;
  • absolute ,绝对定位;
  • relative ,相对定位;
  • fixed ,固定定位;

相对定位

相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。

#box {
  /*相对定位*/
  position: relative;
  /*以左上角为起点向右移动30像素*/
  left: 30px;
  /*以左上角为地点向下移动20像素*/
  top: 20px;
}

在这里插入图片描述
注意:在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其它框。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白豆五

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值