web前端之CSS

news2024/11/23 9:59:48

文章目录

  • 一、CSS简介
      • 1.1 CSS语法规则
  • 二、CSS的引用方法
    • 2.1 定义行内样式表
    • 2.2定义内部样式表
    • 2.3链入外部样式表
    • 2.4导入外部样式表
  • 三、CSS选择符
    • 3.1 基本选择符
      • 3.1.1 标签选择符
      • 3.1.2 class类选择符
      • 3.1.3 id选择符
    • 3.2 复合选择符
      • 3.2.1 交集选择符(合并选择器)
      • 3.2.2 并集选择符
      • 3.2.3 后代选择符
    • 3.3 通配符选择符
    • 3.4 特殊选择符
      • 3.4.1伪类选择符
      • 3.4.2 伪元素
    • 3.5 选择器的优先级
  • 四、CSS属性单位
    • 4.1 字体属性
      • 4.1.1 color
      • 4.1.2 font-size
      • 4.1.3 font-weight (设置文本粗细)
      • 4.1.4 font-style(指定文本字体样式)
      • 4.1.5 font-family(指定一个元素的字体)
    • 4.2 背景属性
      • 4.2.1 background-color(设置背景颜色)
      • 4.2.2 background-image(设置背景图片)
      • 4.2.3 background-repeat(设置如何平铺背景图像)
      • 4.2.4 background-size(设置背景图像大小)
      • 4.2.5 background-position(设置背景图像起始位置,默认值0% 0%)
    • 4.3 文本属性
      • 4.3.1 text-align(指定元素对齐方式)
      • 4.3.2 text-decoration(添加文本的修饰)
      • 4.3.3 text-transform(控制文本的大小写)
      • 4.3.4 text-indent(规定文本块中首行文本的缩进)
    • 4.4 表格属性
      • 4.4.1 border(表格边框)
      • 4.4.2 border-collapse(折叠边框)
      • 4.4.3 text-align(表格文字对齐)
      • 4.4.4 表格填充
      • 4.4.5 表格颜色
  • 五、CSS盒子模型
    • 5.1 盒子模型
    • 5.2 弹性盒子模型
      • 5.2.1 flex-direction属性
      • 5.2.2 justify-content(内容对齐)
      • 5.2.3 align-items 对齐方式
  • 六、浮动
  • 七、定位及CSS新特性
    • 7.1 relative(相对定位)
    • 7.2 absolute(绝对定位)
    • 7.3 fixed(固定定位)
    • 7.4 z-index(设置元素堆叠顺序)
    • 7.5 border-radius(圆角)
    • 7.6 shadow(阴影)
  • 八、动画
    • 8.1 @keyframes创建动画
    • 8.2 animation执行动画
  • 九、媒体查询
    • 9.1 meta标签
  • 十、雪碧图


一、CSS简介

CSS,层叠样式表单,又称级联样式表,简称样式表,用于html文档中元素样式的定义。
CSS文件后缀名.css
注释:/* …*/

1.1 CSS语法规则

主要由2个部分构成,选择器以及一条或多条声明。
在这里插入图片描述
每条声明由一个属性或一个值组成。
属性是希望设置的样式属性,每个属性有一个值,属性和值被冒号分开。

<style>
	h1{
		color: blue;
		font-size:12px;
		}
</style>

以上代码中,h1是选择器,表明选择的元素。

二、CSS的引用方法

2.1 定义行内样式表

定义行内样式就是通过直接设置各个元素的style属性,从而达到设置样式的目的。需要在相关标签内使用style属性,style属性可以包含任何css属性。

<body>
	<p style="font-size:18px;color:red">此行文字被style定义为红色显示</p>
	<p>此行文字没有被style属性定义</p>
</body>

2.2定义内部样式表

指的是样式表的定义处于html文件一个单独的区域,若单个文档需要特殊的样式时,就应该使用内部样式表,可以用《style》标签定义在文档的头部。
注意:内部样式表处于页面的《head》《/head》之间

<head>
	<style>
		p{
			color:red;
			font-size:18px;
		}
	</style>
</head>
<body>
	<p >此行文字被style定义为红色显示</p>
	<p>此行文字被style属性定义</p>
</body>

2.3链入外部样式表

外部样式表通过在某个html页面中添加链接的方式生效。
外部样式表把声明的样式放在样式文件中,页面需要修改样式时,通过link标签链接外部样式表文件。

<link rel="stylesheet" type="text/css" href="xxx.css">

样式表文件的格式
样式表文件的内容是定义的样式表,不包含html标签。

2.4导入外部样式表

指在内部样式表的

<style type="text/css">
<!--
	@import url("外部样式表的文件名1.css");
-->
</style>

链入外样式表与导入外部样式表的本质区别:

导入方式实在浏览器下载HTML文件时将样式表文件的全部内容复制到@import关键字位置,以替换该关键字。
链入方式尽在HTML文件需要引用CSS样式文件中的某个样式时,浏览器才链接样式表文件读取需要的内容,但是并不进行替换。

三、CSS选择符

3.1 基本选择符

3.1.1 标签选择符

以文档对象模型作为选择符,即选择某个html标签为对象,设置其样式规则,所有的标签都可以作为选择符,样式如下:

E{
	/*CSS代码*/
}

E表示网页元素。
具体例子:

body{
	font-size:13px;
	}
div{
	border:3px double #f00;
	width:300px;
	}

3.1.2 class类选择符

class类选择符的名称可以由用户自定义,使用时必须使用英文.(点)进行标识。

.blue{
	color: #00f;
}
p{
	border:2px dashed #f00;
	width:28px;
}

应用class类选择符的代码如下:

<h3 class="blue">标题可以应用样式,蓝色</h3>
<p class="blue">段落可以应用样式,蓝色</h3>

同一个标签可以使用多个类选择器,用空格隔开,代码如下:

<h3 class="content size"> 这是一个标题</h3>

3.1.3 id选择符

针对某一个特定标签,一次只能使用一次。
css中定义id选择符时要在id名称前加上一个#号。

#id 是定义的id选择符名称,该选择符名称在一个文档中是唯一的,不能以数字开头,只对页面中唯一元素进行样式定义。

#top{
	line-height:20px;
	font-size:24px;
	color: #f00;
}

应用id选择符的代码如下:

<div id="top">尝试一下</div>

3.2 复合选择符

3.2.1 交集选择符(合并选择器)

由两个选择符直接连接构成,其结果是选中两者各自元素范围的交集。第一个选择符必须是标签选择符,第二个选择符必须是class类选择符或id选择符。

.p,.class {Color:red;font-size:16px;}

p是标签,class是类选择符。

3.2.2 并集选择符

同时选中各个基本选择符所选择的范围,任何形式的基本选择符都可以作为并集选择符的一部分。

h1 span {Color:red;font-size:16px;}

h1 和 span均为标签

3.2.3 后代选择符

选择所有被h1元素包含的span元素,中间用空格隔开

h1 span {Color:red;font-size:16px;}

外层标签是h1,内层标签是span,span标签成为h1标签的后代。

3.3 通配符选择符

*表示定义所有元素的样式
格式如下:

*{CSS代码}

例如:

*{	
	/*    *表示全局变量     */
	margin:1px;	/*外边距设置为1*/
	padding:2px; /*内边距设置为2*/
}

3.4 特殊选择符

3.4.1伪类选择符

a:link{color:#ff0000;}	/*未访问的超链接状态*/
a:visited{color:#00ff00;} /*已访问链接状态*/
a:hover{color:#ff00ff;} /*鼠标悬停在超链接上的状态*/
a:active{color:#0000ff;} /*被激活的超链接状态*/

注意要把active样式写到hover样式后面,否则active样式是不生效的。

3.4.2 伪元素

语法格式:

选择符:伪元素{属性:属性值}
  • :first-letter 将特殊样式添加到文本的首字母
  • :first-line 将特殊样式添加到文本的首行
  • :before 在某元素之前插入内容
  • :after 在某元素之后插入内容

3.5 选择器的优先级

CSS中,权重用数字衡量。

优先级从高到低:行内样式1000>ID选择器100>类选择器10>元素选择器1

四、CSS属性单位

4.1 字体属性

4.1.1 color

<p>学习字体属性</p>
p{ color: red;		/*红色*/}
p{ color: #ff0000;	/*红色*/}
p{ color: rgb(0,0,0);  /*黑色*/}

4.1.2 font-size

<p>学习字体属性</p>
p{font-size:14px; }

4.1.3 font-weight (设置文本粗细)

在这里插入图片描述

4.1.4 font-style(指定文本字体样式)

在这里插入图片描述

4.1.5 font-family(指定一个元素的字体)

每个值用逗号分开
如果字体包含空格,它必须加上引号。

font-family:"Simsun","SimHei";

4.2 背景属性

4.2.1 background-color(设置背景颜色)

.box1{
	width:400px;
	height:400px;
	background-color:#f00000;
	}

4.2.2 background-image(设置背景图片)

.box1{
	width:400px;
	height:400px;
	background-image: url(路径);
	}

4.2.3 background-repeat(设置如何平铺背景图像)

在这里插入图片描述

.box1{
	width:400px;
	height:400px;
	background-image: url(路径);
	background-repeat: repeat-y;
	}

4.2.4 background-size(设置背景图像大小)

在这里插入图片描述

.box1{
	width:400px;
	height:400px;
	background-image: url(路径);
	background-repeat: repeat-y;
	background-size: 100% 100%;
	}

4.2.5 background-position(设置背景图像起始位置,默认值0% 0%)

在这里插入图片描述

4.3 文本属性

4.3.1 text-align(指定元素对齐方式)

在这里插入图片描述

h1 {text-align: left;}

4.3.2 text-decoration(添加文本的修饰)

text-decoration

h1{text-decoration:overline;}

4.3.3 text-transform(控制文本的大小写)

在这里插入图片描述

h1{text-transform:uppercase;}

4.3.4 text-indent(规定文本块中首行文本的缩进)

p{
	text-indent:50px;
}

4.4 表格属性

4.4.1 border(表格边框)

table,td{
	border:1px solid black;
	}

4.4.2 border-collapse(折叠边框)

设置表格的边框是否被折叠成一个单一的边框或隔开

table{border-collapse:collapse;}

4.4.3 text-align(表格文字对齐)

设置水平对齐方式,向左、右、中心

td{text-align:right;}

设置垂直对齐属性

td{height:50px;vertial-align:bottom;}

4.4.4 表格填充

如果在表的内容中控制空格之间的边框,应使用td和th元素的填充属性

td{padding:15px;}

4.4.5 表格颜色

下面指定边框的颜色和th元素的文本和颜色

table,td,th{ border:1px solid green;}
td{background-color:green;color:white;}

五、CSS盒子模型

5.1 盒子模型

概念
所有html元素可以看作盒子,css盒子模型本质上是一个盒子,封装周围的html元素,它包括外边距(margin),边框(border),内边距(padding),实际内容(content)。
在这里插入图片描述

  • Margin(外边距)- 清除边框外的区域,外边距是透明的,第一个值代表上下,第二个值代表左右
  • Border(边框)-围绕在内边距和内容外的边框
  • Padding(内边距)- 清除内容周围的区域,第一个值代表上下,第二个值代表左右
  • Content(内容)-盒子的内容,显示文本和图像

5.2 弹性盒子模型

弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成.
弹性容器通过设置 display 属性的值为 flex 将其定义为弹性容器
弹性容器内包含了一个或多个弹性子元素

5.2.1 flex-direction属性

定义:指定了弹性子元素在父容器中的位置
语法:

flex-direction:row;
  • row:横向从左到右排列左对产)默认的排列方式
  • row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面
  • column:纵向排列
  • column-reverse:反转纵向排列,从后往前排,最后一项排在最上面

5.2.2 justify-content(内容对齐)

  • flex-stat 弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放
  • flex-end 弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平产摆放
  • center弹性项目居中紧挨着填充(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)

5.2.3 align-items 对齐方式

在这里插入图片描述

六、浮动

float属性定义元素在哪儿个方向浮动,任何元素都可以浮动。
在这里插入图片描述
浮动的原理:

  • 浮动以后使元素脱离了文档流
  • 浮动只有左右浮动,没有上下浮动
    元素向左浮动
    在这里插入图片描述
    元素向右浮动
    在这里插入图片描述
    当容器不足时
    在这里插入图片描述

七、定位及CSS新特性

7.1 relative(相对定位)

不脱离文档流

<div class="box"></div>
.box{
	width:100px;
	height:100px;
	background-color:red;
	position:relative;
	left:100px;
	}

7.2 absolute(绝对定位)

脱离文档流

<div class="box1"></div>
<div class="box2"></div>
.box1{
	width:100px;
	height:100px;
	background-color:red;
	position:absolute;
	left:100px;
	}
.box2{
	width:200px;
	height:200px;
	background-color:red;

	}

7.3 fixed(固定定位)

脱离文档流

<div class="box"></div>
.box{
	width:100px;
	height:100px;
	background-color:red;
	position:fixed;
	left:100px;
	}

7.4 z-index(设置元素堆叠顺序)

<div class="box1"></div>
<div class="box2"></div>
.box1{
	width:100px;
	height:100px;
	background-color:red;
	position:absolute;
	left:100px;
	z-index:100;
	}
.box2{
	width:200px;
	height:200px;
	background-color:red;
	z-index:10;
	}

7.5 border-radius(圆角)

<div class="box"></div>
.box{
	width:100px;
	height:100px;
	background-color:red;
	border-radius:10px;
	}

使用规则:
在这里插入图片描述

7.6 shadow(阴影)

box-shadow:h-shadow或v-shadow或blur或color;

在这里插入图片描述

八、动画

8.1 @keyframes创建动画

@keyframes name{
	from|0%{
		CSS样式
		}
	percent{
		CSS样式
		}
	to|100%{
		CSS样式
		}
	}

name:为动画名称,开发人员自己命名
percent:为百分比值,可以添加多个百分比值
例如:在这里插入图片描述

8.2 animation执行动画

animation: name duration timing-function delay iteration-count direction;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
切换背景颜色

<div class="animation"></div>
.animation{
	width:100px;
	height:100px;
	background-color:red;
	animation:anima 5s linear 5s infinite;
	}
.animation:hover{
	animation-play-state:paused;
	}
@keyframes anima{
	0%{
		background-color:red;
		}
	50%{
		background-color:green;
		}
	100%{
		background-color:blueviolet;
		}
	}

九、媒体查询

9.1 meta标签

使用设备的宽度作为视图宽度并禁止初始的缩放,在标签里加入这个meta标签。

<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">

加入以上代码就会按设置的宽度不变,如果不加则会按比例缩放。
参数解释

在这里插入图片描述

十、雪碧图

CSS Sprite也叫CSS精灵图,CSS雪碧图,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一个大图中去。
优点

  • 减少图片的字节
  • 减少网页的http请求,从而大大提高页面的性能

原理

  • 通过background-image引入背景图片
  • 通过background-position把背景图片移动到自己需要的位置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/841957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Navicat连接SQL Server报错:IM002 未发现数据源名称且未指定驱动

Navicat Premium连接SQL Server软件时&#xff1a;报IM002错误&#xff0c;未发现数据源名称且未指定驱动程&#xff1a; 解决办法&#xff1a;查找Navicat Premium的安装目录D:\Navicat Premium\&#xff0c;你会找到一个文件sqlncli_x64.msi&#xff08;D:\Navicat Premium\s…

【数字化处理】仿生假体控制中肌电信号的数字化处理研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

在win10, win11 家庭版中安装远程桌面服务

win10&#xff0c; win11 家庭版中提供远程桌面服务 简介 在windows家庭版中&#xff0c;是不提供远程桌面服务的&#xff0c;你没有办法使用远程桌面连接到windows家庭版中。 当然&#xff0c; 你可用升级windows 版本到专业版&#xff0c;这样就可用享受到windows自带的远程…

今年这情况,真想考研了!

眼下&#xff0c;又是一年的毕业季&#xff0c;超千万规模的毕业生大军如“丧尸围城”&#xff0c;浩浩荡荡地涌入职场。与他们一路同行的还有因疫情影响2022年离校未就业的毕业生&#xff0c;以及那些不幸“被优化”的职场人。 今年&#xff0c;1158 万毕业生&#xff0c;再加…

浅谈城市大型综合体周边商铺电气防火和消防设备监督管理的几点建议

安科瑞 华楠 【摘要】随着经济的发展及城市化步伐的加快&#xff0c;城市建筑密度及建筑容积都达到了空前规模&#xff0c;大型综合体及周边商铺的发展&#xff0c;给人们的日常生活消费提供了便利条件&#xff0c;但同时给人们带来的火灾危险却不能忽视。本文从装修设计情况、…

基于fpga的电子时钟

文章目录 前言实验手册一、实验目的二、实验原理1&#xff0e;理论原理2&#xff0e;硬件原理 三、系统架构设计四、模块说明1&#xff0e;模块端口信号列表按键消抖模块&#xff08;key&#xff09;计数器模块&#xff08;counter&#xff09;蜂鸣器乐谱模块(music)蜂鸣器发声…

Shadow插件化框架使用

作者&#xff1a;CCtomorrow 说明 最近项目想要做模块动态升级&#xff0c;所以了解了最近还在维护的插件化框架 Shadow . shadow框架的官网的顶置 issue &#xff0c;里面有非常多的关于框架的解析的文章。想要了解此框架&#xff0c;这个必看。 这里还是截取一张项目代码图…

Drools用户手册翻译——第四章 Drools规则引擎(十二)复杂事件处理(CEP)的时间操作

甩锅声明&#xff1a;本人英语一般&#xff0c;翻译只是为了做个笔记&#xff0c;所以有翻译错误的地方&#xff0c;错就错了&#xff0c;如果你想给我纠正&#xff0c;就给我留言&#xff0c;我会改过来&#xff0c;如果懒得理我&#xff0c;就直接划过即可。 对于事件的时间…

Python数据分析实战-dataframe指定多列去重(附源码和实现效果)

实现功能 Python数据分析实战-利用df.drop_duplicates(subset[,])对dataframe指定多列去重 实现代码 import pandas as pddata{state:[1,1,2,2,1,2,2],pop:[a,b,c,d,b,c,d]} framepd.DataFrame(data)frameframe.drop_duplicates(subset[pop,state]) print(frame) 实现效果 本…

【SpringCloud】RabbitMQ基础

1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式&#xff1a; 同步通讯&#xff1a;就像打电话&#xff0c;需要实时响应。 异步通讯&#xff1a;就像发邮件&#xff0c;不需要马上回复。 两种方式各有优劣&#xff0c;打电话可以立即得到响应&#xff0c;…

Unity Git项目添加子模块

在 当前仓库根目录下执行命令 git submodule add https://github.com/xxx/child.git 检查仓库状态 git status 更新子库 git submodule update --remote 下拉父仓库Git并保住子库也更新 git pull --recurse-submodules 推荐使用 Githubdesktop工具 这样你可以更清楚的看到自己…

前端如何设置表单元素的默认值?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 文本框、文本域⭐ 单选按钮、复选框⭐ 对于下拉列表⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是…

全网最强,Jmeter性能测试-web接口性能压测总结(超细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 压测的目的 对于…

b站视频标题的获取(xpath、jsonpath的一个简单应用)

目录 1.目的2.代码的演示 注&#xff1a;该篇文章为本人原创&#xff0c;由于本人学习有限&#xff0c;若有错误或者笔误或者有问题&#xff0c;欢迎大家进行批评指正&#xff0c;谢谢。 1.目的 在b站大学上&#xff0c;为了更好的写笔记&#xff0c;本人根据学到的Python(即Py…

2. 内存分区模型

一、内存分区模型 C程序在执行时&#xff0c;将内存大方向划分为4个区域 代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统进行管理的全局区&#xff1a;存放全局变量和静态变量以及常量栈区&#xff1a;由编译器自动分配释放&#xff0c;存放函数的参数值&a…

【JVM】垃圾回收 ——自问自答2

Q: System.gc() 的理解 System.gc()底层调用的是 Runtime.getRuntime.gc(),会现实出发FullGC。 但是&#xff0c;它的调用附带一个免责声明&#xff0c;无法保证对垃圾收集器的调用。 Q&#xff1a; 内存溢出和内存泄漏&#xff1f; 内存溢出&#xff1a; 简而言之&#xf…

泊松损坏图像的快速尺度间小波去噪研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

最新ChatGPT网站源码运营版+支持ai绘画(Midjourney)+GPT4.0+GPT官方3.5key绘画+实时语音识别输入+后台一键版本更新!

最新ChatGPT网站源码运营版支持ai绘画GPT4.0GPT官方3.5key绘画实时语音识别输入后台一键版本更新&#xff01; 1.网站系统源码介绍&#xff1a; 程序已支持ChatGPT4.0、Midjourney绘画、GPT3.5 API绘画、语音识别输入、用户会员套餐用户每日签到功能后台管理一键更新版本。支…

docker中的jenkins去配置sonarQube

docker中的jenkins去配置sonarQube 1、拉取sonarQube macdeMacBook-Pro:~ mac$ docker pull sonarqube:8.9.6-community 8.9.6-community: Pulling from library/sonarqube 8572bc8fb8a3: Pull complete 702f1610d53e: Pull complete 8c951e69c28d: Pull complete f95e4f8…

【代码随想录-LeetCode第一题】二分查找及实现

LeetCode刷题第一题&#xff1a;704二分查找法 什么是二分查找&#xff1f;题目思路和边界问题 参考 代码随想录 什么是二分查找&#xff1f; 二分查找&#xff08;Binary Search&#xff09;是一种在有序数组中查找特定元素的查找算法。它通过将目标值与数组的中间元素进行比…