首页 > 其他分享 >CSS基础

CSS基础

时间:2023-03-21 19:14:51浏览次数:45  
标签:color 基础 样式 内容 background border 选择器 CSS

一、CSS介绍

  • CSS 的意思为 Cascading Style Sheets,中文名是层叠样式表。

  • CSS 是由大名鼎鼎的 W3C 中 CSS 工作组来发布以及维护

  • CSS 作用是修饰 HTML 和 XML 的标记语言

  • CSS 属于浏览器解释语言,它可以由浏览器直接执行,不用再进行编译

  • CSS 是前端入门的必修课,运用它可以让我们的页面更加美观

二、CSS引入方式

1、行内样式

行内样式:将样式直接写在标签上,需要使用style属性。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!--行内样式-->
    <p style="color: green;">我是一个段落</p>
    <p style="color: blueviolet;">我是一个段落</p>
    <p style="color: plum;">我是一个段落</p>
</body>
</html>

效果:

2、内联样式

内联样式:将页面内容与表现形式进行分离,方便对样式进行统一管理。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--使用style标签写在head标签内-->
    <style>
        /* 标签选择器 */
        p{
            color: green;
            font-size: 18px;
        }
        div{
            color: #3D7FBB;
            font-size: 59px;
        }
    </style>
</head>
<body>
    <p>我是一个段落</p>
    <p>我是一个段落</p>
    <p>我是一个段落</p>
    <div>
        我是div标签
        我是div标签
        我是div标签
    </div>
</body>
</html>

效果:

3、外联样式

  对内联样式进行进一步的抽离,方便多个html页面共用一个样式。

  • 用法:创建一个CSS文件,需要该样式的HTML直接引用样式即可。

示例:

  • CSS文件

  • HTML文件
  • 在HTML文件中导入CSS文件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!--  link引入  -->
    <link rel="stylesheet" href="main.css">
</head>
<body>
    <p>我是一个段落</p>
    <p>我是一个段落</p>
    <p>我是一个段落</p>
    <div>
        我是div标签
        我是div标签
        我是div标签
    </div>
</body>
</html>

4、样式的优先级

就近原则:行内样式 > 内联样式 == 外联样式(后面覆盖前面)

注意事项:今后尽量不要对同个html进行多个样式书写。

  • 如何选择三种样式写法?

    • 如果样式是固定并且不修改并且很少情况,使用行内样式。

    • 如果样式针对当前html页面做的样式,并且量比较大的情况下, 使用内联样式。

    • 如果样式是通用,且css代码很多,使用外联样式,需要创建一个css文件,引入。

三、CSS选择器

1、基本选择器

选择器可以快速、方便的选择所需要使用的页面元素。

基本选择器分三种:标签选择器、类选择器(class选择器)、id选择器。

  • 标签选择器

  • 语法:标签名{}

  • 类选择器

    • 通过class元素进行元素的获取,可用于对多个元素进行相同的样式设置。

    • 语法:.类名{}

  • id选择器

    • id选择器是通过id属性给元素一个唯一标识(设置多个id相同不会报错,)

    • 语法:#id名{}

  • 示例:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			/* 标签选择器 */
			div{
				color: bisque;
			}
			/* 类选择器 */
			.div-cls{
				color: aqua;
			}
			.p-cls{
				color: yellow;
			}
			/* id选择器 */
			#p-id{
				color: green;
			}
			
		</style>
	</head>
	<body>
		<div class="div-cls">我是div1,我用的是class选择器</div>
		<div class="p-cls" id="p-id">我是div2,我用的是class选择器和id选择器</div>
		<div class="div-cls">我是div3,我用的是class选择器</div>
		<p class="p-cls">我是p,我用的是class选择器</p>
		<h4 class="h4-cls">我是h4,我用的是class选择器</h4>
	</body>
</html>

2、层级选择器

  • 后代选择器

    • 选择后面所有

  • 子代选择器

  • 选择后面一层

  • 示例:

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<style>
		/* 后代选择器 */
		div span{
			font-size: 18px;
			color:red;
		}
		/* 子代选择器 */
		div p{
			color: blue;
		}
	</style>
	<body>
		<div>
			 <p>嘻嘻嘻</p>
			 <a href="#">
				 <span>
				   点我点我!
				 </span>
			 </a>
		</div>
	</body>
</html>

3、组合选择器

  组合选择器是根据元素在页面中的同级关系进行选择。

  • 示例:
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			div span,p span{
				color: green;
			}
			p span,h4 span{
				color: mediumspringgreen;
			}
		</style>
	</head>
	<body>
		<div>
		    div中的不带标签的内容
		    <span>组合选择器,注意很常用</span>
		</div>
		<p>
		    <span>p标签中的span标签</span>
		</p>
		<h4>
		    <span>h4标签中的span标签</span>
		</h4>
	</body>
</html>

4、通配符选择器

*表示通配符,作用于页面中的所有标签。

*{
	color:green;
	font-size:20px;
}

5、伪类选择器

  伪类是 W3C 制定的一套选择器的特殊状态,通过伪类您可以设置元素的动态状态,例如悬停(hover)、点击(active)以及文档中不能通过其它选择器选择的元素。

  伪类的名称不区分大小写,但需要以冒号:开头。

另外,伪类需要与 CSS 中的选择器结合使用,语法格式如下:

a:hover{
	color:green;
}
  • 介绍几个常见的伪类选择器:

    • :hover (选择鼠标悬停在上面的元素)

    • :active (选择鼠标在上面并且按键不松开的元素)

    • :link (选择地址没有被访问过的超链接元素)

    • :visited (选择地址被访问过的超链接元素)

    • :focus (选择获取焦点的元素)

四、CSS盒子模型

  在使用CSS进行网页布局时,我们一定离不开的一个东西——盒子模型。

  盒子模型,顾名思义,盒子就是用来装东西的,它装的东西就是HTML元素的内容。

  可以理解为:每一个可见的 HTML 元素都是一个盒子。

1、盒子的组成

  • 外边距:margin

  • 内边距:padding

  • 边框:border

  • 内容:content

  会发现margin、border、padding是CSS属性,因此可以通过这三个属性来控制盒子的这三个部分。而content则是HTML元素的内容。

2、盒子模型演示

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Title</title>
	<style>
		div {
			background-color: lightgrey;
			width: 300px;
			border: 25px solid green;
			padding: 25px;
			margin: 25px;
		}
	</style>
</head>
<body>
	<h2>盒子模型演示</h2>
	<p>CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。</p>
	<div>这里是盒子内的实际内容。有 25px 内间距,25px 外间距、25px 绿色边框。</div>
</body>
</html>

效果:

3、盒子成分分析

(1)margin

  • 盒子的外边距,是完全透明的,开发者只可以设置它的边距。

  • margin包含了上下左右四条边,开发者可以单独设置每一条边的边距。

margin-top:上边距
margin-buttom:下边距
margin-left:左边距
margin-right:右边距
  • 注意:

    • margin属性后只跟一个值,同时设置四条边的边距相等

    • margin属性后跟两个值,第一个值设置上下边距,第二个是设置左右边距

    • margin属性后跟三个值,第一个值设置上边距,第二个是设置左右边距,第三个值设置下边距

    • margin属性后跟四个值,第一个值设置上边距,第二个是设置右边距,第三个值设置下边距,第四个值设置左边距

(2)padding

  • 表示盒子的内边距(填充)。

  • 与外边距不同,padding不是只能完全透明的,可以设置背景颜色和图片。

  • 与margin类似,padding包含了上下左右四条边,开发者可以单独设置每一条边的边距。

padding-top:上部填充
padding-bottom:下部填充
padding-left:左部填充
padding-right:右部填充

(3)border

  • border表示盒子的边界,它可以设置成可见的,样式多样的。

  • border像margin和padding一样可以分别对每一条边进行设置。

border-top:上边界
border-bottom:下边界
border-left:左边界
border-right:右边界

示例:

/*使用简写属性,同时设置四条边界,四条边界的宽度、样式和颜色*/
border: 2px solid green;
/*下面的样式与上面的样式等价*/
border-top: 2px solid green;
border-bottom: 2px solid green;
border-left: 2px solid green;
border-right: 2px solid green;
  • 除了可以单独对每一条边进行样式设置之外,还可以分别对边界的宽度、样式和颜色进行设置

    • 边界宽度:border-width

    • 边界样式:border-style

    • 边界颜色:border-color

  • 常见的边框样式:

    • 实线边框:solid

    • 虚线边框:dashed

    • 点状边框:dotted

    • 双实线边框:double

4、背景

  • 设置背景颜色:background-color

  • 设置背景图片:background-image

  • 设置背景图片大小:background-size

  • 设置背景图片是否重复:background-repeat

  • 设置背景图片的位置:background-position

div{
  width: 1000px;
  height: 1000px;
  /* background-color: #008B8B;
  background-image: url(./timg.jpg);
  background-size: 50px 50px;
  background-repeat: no-repeat;
  background-position: center;
  background: #008B8B url(./timg.jpg) no-repeat;
}

5、盒子类型

我们发现我们设置一个div的宽度和高度是100px,但是我们一旦设置内边距padding,它的高度和宽度就变大了,这是为什么呢?

解决问题的方法:设置box-sizing: border-box;

一个盒子的区域包括:内容区(蓝色)、内边距(绿色)、边框(黄色)、外边距(橙色)

我们的盒子模型有两种
(1)外扩盒子

  你遇到的就是外扩盒子,就是你设置的width、height为100px,是对蓝色区域的内容区设置的,加上内边距,最终的宽度高度一定比100px要大的多

  设置外扩盒子的css代码

.div{
	box-sizing:content-box
}

 

(2)内缩盒子

  内缩盒子就是你想要的了,你设置的width、height为100px,这100px设置的是border+padding+content(内容区)总高度,
如果你设置width:100px,padding:10px,border:5px的话,内容区的宽度就会被压缩,它的宽度等于100px-10×2-5×2=70px。
你设置的内边距越大,它内容区就越挤压

设置内缩盒子的css代码

.div{
	box-sizing:border-box
}

五、浮动

1、设置浮动

  浮动是改变元素在文档流中的规则,让元素可以在水平方向上进行排版。

  浮动一般是用于图像,但它在布局时一样非常有用。

用法:

  • float:left

  • float:right

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .img{
            width: 200px;
            height: 200px;
            background: no-repeat;
            background-size: contain;
            float: left;
            margin: 20px;
        }
        #div1{
            background-image: url("imgs/1.jpg");
        }
        #div2{
            background-image: url("imgs/2.jpg");
        }
        #div3{
            background-image: url("imgs/3.jpg");
        }
        #div4{
            background-image: url("imgs/4.jpg");
        }
    </style>
</head>
<body>
    <div class="img" id="div1"></div>
    <div class="img" id="div2"></div>
    <div class="img" id="div3"></div>
    <div class="img" id="div4"></div>
</body>
</html>

效果:

2、清除浮动

  因为浮动脱离了普通的文档流,会出现一种高度坍塌的现象:原来的父容器高度是内部元素撑开的,但是当内部元素浮动后,脱离普通流浮动起来,那父容器的高度就坍塌,变为高度0px。

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .img{
            width: 200px;
            height: 200px;
            background: no-repeat;
            background-size: contain;
            float: left;
        }
        #div1{
            background-image: url("imgs/1.jpg");
        }
        #div2{
            background-image: url("imgs/2.jpg");
        }
        #div3{
            background-image: url("imgs/3.jpg");
        }
        #div4{
            background-image: url("imgs/4.jpg");
        }
        .kk{
            background-color: green;
            width: 200px;
            height: 200px;
        }
    </style>
</head>
<body>
    <div class="img" id="div1"></div>
    <div class="img" id="div2"></div>
    <div class="img" id="div3"></div>
    <div class="img" id="div4"></div>
    <div class="kk"></div>
</body>
</html>

效果:

清除浮动的方法有多种,这里介绍一种:

clear: both;

六、定位

  浮动更多的用于对模块化(无具体像素值要求)区域进行整体排版,对于精确到像素值的页面调整需要使用定位,例如:购物车上的数量、消息通知等。

属性名 描述
position:relative; 相对定位(相对默认位置进行定位,不脱离文档流,仍占据页面位置)
position:absolute; 绝对定位(相对第一个带有定位属性的父元素进行定位,默认是浏览器)
position:fixed; 相对浏览器进行固定定位

1、相对定位

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box1{
            width: 100px;
            height: 100px;
            background-color: black;
            opacity: 0.5; /*透明度*/
            /*相对定位 会保留原来的位置*/
            position: relative;
            left: 150px;
            top: 150px;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: green;
        }

    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

2、绝对定位

  • 多用于块级元素内嵌其他元素。
  • 但一定要注意的是,绝对定位的父类也是属于绝对定位。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .box1{
            width: 100px;
            height: 100px;
            background-color: black;
            opacity: 0.5; /*透明度*/
            /*绝对定位 不会保留原来的位*/
            position: absolute;
            left: 150px;
            top: 150px;
        }
        .box2{
            width: 200px;
            height: 200px;
            background-color: green;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

3、固定定位

  • 固定定位类似于广告弹窗,无论翻页到哪一页,都会固定不动的定在那。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    .divid{
            width: 150px;
            height: 30px;
            background-color: #ff4200;
            border-radius:32px ;
            text-align: center;
            line-height: 31px;
            color: white;
            position: fixed;/* 固定定位*/
            top: 220px;
            right: 10px;
        }
    </style>
</head>
<body>
    <div class="divid">固定定位</div>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
    <p>内容内容内容内容内容内容</p>
</body>
</html>

 

标签:color,基础,样式,内容,background,border,选择器,CSS
From: https://www.cnblogs.com/LoLong/p/17241079.html

相关文章

  • 模电笔记-基础元器件无图
    模电笔记常见元器件电阻器电阻器提供一定的电阻限制电流的流动由导体材料制成,将导体材料绕制成螺旋状或折叠状,并将两端引出,形成一个固定阻值的器件。电阻器主要关心三......
  • Web前端——HTML5与CSS3新增内容
    Web前端笔记第四部分:HTML5与CSS31.圆角border-radius各种圆角实例/左上角60的圆弧//border-top-left-radius:60px;//四个角设置相同的圆弧//border-radius:60px;//......
  • corejava_基础
    首先来个问题:什么是对象?     宽泛:可以用形容词修饰的名词都称作对象     程序:具有什么(属性)和能做什么(功能)的特点称作对象对于知识点的理解:   ......
  • 纯 CSS 实现瀑布流式排版
    最近写了个页面,想到了用瀑布流实现页面布局。在我看来一个合格的横向瀑布流式布局包含以下几个条件:1、每个内容块高度可以不等,但宽度相等。由于内容的不确定性,内容块......
  • 100道python基础题——(15)
    题:编写一个程序,计算a+aa+aaa+aaaa的值,给定的数字作为a的值。假设为程序提供了以下输入:9  然后,输出应该是:11106提示:如果输入数据被提供给问题,则应该假定它是控......
  • 100道python基础题——(14)
    题:编写一个接受句子的程序,并计算大写字母和小写字母的数量。假设为程序提供了以下输入:Helloworld!然后,输出应该是:大写实例1小写实例9提示:如果输入数据被提供给问题,则应......
  • CSS02.字体样式
    字体样式1.CSS外观属性1.1color:文本颜色作用:color属性用于定义文本的颜色其取值方式有如下3种:表示属性值预定义的颜色值(预设值:定义好的单词)red、green......
  • [1]Python基础语法-【2】数据类型
    在Python中,有多种不同的数据类型可供使用。这些数据类型包括数字、字符串、列表、元组、字典和集合。在本教程中,我们将介绍这些数据类型的定义和基本操作。数字数字是Pyt......
  • CSS 组合选择符
    CSS组合选择符组合选择符说明了两个选择器之间的关系。CSS组合选择符包括各种简单选择符的组合方式。在CSS3中包含了四种组合方式:后代选择器(以空格   ......
  • 好客租房44-react组件基础综合案例-5发表评论-1
    发表评论1给按钮绑定点击事件2在事件处理程序中通过state获取评论信息3将评论信息添加到state中并调用setState()方法更新数据//导入reactimportReactfrom'react'imp......