前端开发_CSS

news2024/12/23 22:46:14

CSS定义

层叠样式表 (Cascading Style Sheets,缩写为 CSS),是一种 样式表 语言,用来描述 HTML 文档的呈现(美化内容)

书写位置:title 标签下方添加 style 双标签,style 标签里面书写 CSS 代码。

示例:

<body>
    <title>CSS 初体验</title>
    <style>
        /* 选择器 { } */
        p {
            /* CSS 属性 */
            color: red;
        }
    </style>
    <p>体验 CSS</p>
</body>

在这里插入图片描述

CSS引入方式

  • 一般:CSS代码写在style标签中

  • 开发:CSS代码卸载单独的CSS文件中(.css)

    在HTML中使用link标签引入

    <link rel="stylesheet" href="./my.css">

  • 行内:配合JavaScript使用

    CSS写在标签的style属性值里

    <div style="color: red; font-size:20px;">这是 div 标签</div>

选择器

作用:查找标签,设置样式

基础选择器:

  • 标签选择器
  • 类选择器
  • id选择器
  • 通配符选择器

标签选择器

使用标签名作为选择器 → 选中同名标签设置相同的样式。

例如:p, h1, div, a, img…

<!-- 使用p作为选择器 -->
    <style>
        p {
            color: red;
        }
    </style>

标签选择器无法差异化同名标签的显示效果。

类选择器

查找标签,差异化设置标签的显示效果。

步骤:

  • 定义类选择器 → .类名
  • 使用类选择器 → 标签添加 class="类名“

示例:

	<style>
        /* 定义类选择器 */
        .red {
            color: red;
        }
    </style>
    <!-- 使用类选择器 -->
    <div class="red">这是 div 标签</div>

类名自定义,不要用纯数字或中文,尽量用英文命名

一个类选择器可以供多个标签使用

一个标签可以使用多个类名,类名之间用空格隔开

	<style>
     /* 定义类选择器 */
     .red {
         color: red;
     }
 </style>
 <style>
     .size50 {
         font-size: 50px;
     }
 </style>
 <!-- 使用类选择器 -->
 <div class="red size50">这是 div 标签</div>

id选择器

查找标签,差异化设置标签的显示效果。

id 选择器一般配合 JavaScript 使用,很少用来设置 CSS 样式

步骤:

  • 定义 id 选择器 → #id名
  • 使用 id 选择器 → 标签添加 id= “id名”
	<style>
        /* 定义 id 选择器 */
        #red {
            color: red;
        }
    </style>
    <!-- 使用 id 选择器 -->
    <div id="red">这是 div 标签</div>

同一个 id 选择器在一个页面只能使用一次

通配符选择器

查找页面所有标签,设置相同样式。

*,不需要调用,浏览器自动查找页面所有标签,设置相同的样式

* {
color: red;
}

通配符选择器可以用于清除标签的默认样式,例如:标签默认的外边距、内边距

复合选择器

定义:由两个或多个基础选择器,通过不同的方式组合而成。

作用:更准确、更高效的选择目标元素(标签)。

后代选择器

后代选择器:选中某元素的后代元素。

选择器写法:父选择器 子选择器 { CSS 属性},父子选择器之间用空格隔开。

<style>
div span {
	color: red;
}
</style>
<span> span 标签</span>
<div>
	<span>这是 div 的儿子 span</span >
</div>

子代选择器

子代选择器:选中某元素的子代元素(最近的子级)。

选择器写法:父选择器 > 子选择器 { CSS 属性},父子选择器之间用 > 隔开。

<style>
	div > span {
		color: red;
	}
</style>
<div>
	<span>这是 div 里面的 span</span>
	<p>
		<span>这是 div 里面的 p 里面的 span</span>
	</p>
</div>

在这里插入图片描述

并集选择器

并集选择器:选中多组标签设置相同的样式。

选择器写法:选择器1, 选择器2, …, 选择器N { CSS 属性},选择器之间用 , 隔开。

<style>
	div,
	p,
	span {
		color: red;
	}
</style>
<div> div 标签</div>
<p>p 标签</p>
<span>span 标签</span>

交集选择器

交集选择器:选中同时满足多个条件的元素

选择器写法:选择器1选择器2 { CSS 属性},选择器之间连写,没有任何符号。

<style>
	p.box {
		color: red;
	}
</style>
<p class="box">p 标签,使用了类选择器 box</p>
<p>p 标签</p>
<div class="box">div 标签,使用了类选择器 box</div>

如果交集选择器中有标签选择器,标签选择器必须书写在最前面

伪类选择器

伪类选择器:伪类表示元素状态,选中元素的某个状态设置样式。

鼠标悬停状态:选择器:hover { CSS 属性 }

<style>
	a:hover {
		color: red;
	}
	.box:hover {
		color: green;
	}
</style>
<a href="#">a 标签</a>
<div class="box">div 标签</div>

超链接一共有四个状态

选择器作用
:link访问前
:visited访问后
:hover鼠标悬停
:active点击时(激活)

如果要给超链接设置以上四个状态,需要按 LVHA 的顺序书写

结构伪类选择器

作用:根据元素的结构关系查找元素。

选择器说明
E:first-child查找第一个元素
E:last-child查找最后一个元素
E:nth-child(N)查找第N个E元素(第一个元素N值为1)

示例:查找第一个li元素

li:first-child {
	background-color: green;
}

:nth-child(公式)

根据元素的结构关系查找多个元素。

功能公式
偶数标签2n
奇数标签2n+1;2n-1
找到5的倍数的标签5n
找到第五个以后的标签n+5
找到第五个以前的标签-n+5

公式中的n取值从 0 开始

伪元素选择器

作用:创建虚拟元素(伪元素),用来摆放装饰性的内容。

选择器说明
E::before在E元素里面最前面添加一个伪元素
E::after在E元素里面最后面添加一个伪元素
  • 必须设置content: ""属性,用来设置伪元素内容,如果没有内容,引号留空即可
  • 伪元素默认是行内显示模式
  • 权重和标签选择器相同
div::before {
	content: "before 伪元素";
}
div::after {
	content: "after 伪元素";
}

基本属性

属性名作用
color颜色
width宽度
height高度
background-color背景色

例子:使用合适的选择器画盒子

	<style>
        #red {
            background-color: red;
            width: 100px;
            height: 100px;
        }
    </style>
    <style>
        #orange {
            background-color: orange;
            width: 200px;
            height: 200px;
        }
    </style>
    <div id="red"></div>
    <div id="orange"></div>

在这里插入图片描述

文字控制属性

描述属性
字体大小font-size
字体粗细font-weight
字体倾斜font-style
行高line-height
字体族(字体样式)font-family
字体复合属性font
文本缩进text-indent
文本对齐text-align
修饰线text-decoration

字体大小

属性名:font-size

属性值:文字尺寸,PC 端网页最常用的单位 px

谷歌浏览器默认字号是16px

字体粗细

属性名:font-weight

属性值:

  • 数字(开发用):
    • 正常:400
    • 加粗:700
  • 关键字:
    • 正常:normal
    • 加粗:bold

字体倾斜

作用:清除文字默认的倾斜效果/添加文字倾斜效果

属性名:font-style

属性值:

  • 正常:normal
  • 倾斜:italic

行高

作用:设置多行文本的间距

属性名:line-height

属性值:

  • 数字+px:固定行高
  • 数字:当前标签font-szie属性值的倍数

行高:从一行文字的最顶端(最底端)量到下一行文字的最顶端(最底端)。

字体族

属性名:font-family

属性值:字体名

示例:

font-family: 楷体;

font-family属性值可以书写多个字体名,各个字体名用逗号隔开,执行顺序是从左向右依次查找

font-family: Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif;

font-family 属性最后设置一个字体族名,网页开发建议使用无衬线字体

复合属性

div {
	/* font: 是否倾斜 是否加粗 字号/行高 字体; */
	font: italic 700 30px/2 楷体;
}

复合属性:属性的简写方式,一个属性对应多个值的写法,各个属性值之间用空格隔开。

font: 是否倾斜 是否加粗 字号/行高 字体(必须按顺序书写)

字号和字体值必须书写,否则 font 属性不生效

文本缩进

属性名:text-indent

属性值:

  • 数字 + px
  • 数字 + em(推荐:1em = 当前标签的字号大小)

文本对齐方式

属性名:text-align

属性值:

  • left:左对齐:默认
  • center:居中对齐
  • right:右对齐

图片对齐方式

text-align本质是控制内容的对齐方式,如果想要对图片进行对齐,属性要设置给内容的父级。

<style>
	div {
		text-align: center;
	}
</style>
<div>
	<img src="./images/1.jpg" alt="">
</div>

文本修饰线

属性名: text-decoration

属性值:

  • none:无
  • underline:下划线
  • line-through:删除线
  • overline:上划线

颜色

属性名:color

颜色表示方式属性值说明适用场景
颜色关键字颜色英文单词red、green、blue…学习测试
rgb表示法rgb(r,g,b)gb表示红绿蓝三原色,取值:0-255了解
rgba表示法rgba(r,g,b,a)a表示透明度,取值0-1开发使用
十六进制表示法#RRGGBB#000,#ffcc00,简写:#000,#fc0开发使用

只要属性值为颜色,都可以使用上述四种颜色表示方式,例如:背景色

CSS特性

  • 继承性
  • 层叠性
  • 优先级

继承性

子级默认继承父级的文字控制属性。

如果标签有默认文字样式会继承失败。

层叠性

相同的属性会覆盖:后面的 CSS 属性覆盖前面的 CSS 属性

不同的属性会叠加:不同的 CSS 属性都生效

选择器类型相同则遵循层叠性,否则按选择器优先级判断。

优先级

优先级:也叫权重,当一个标签使用了多种选择器时,基于不同种类的选择器的匹配规则。

规则:选择器优先级高的样式生效。

公式:通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important

选中标签的范围越大,优先级越低

如果是复合选择器,则需要权重叠加计算。

公式:(每一级之间不存在进位)行内样式, id选择器个数, 类选择器个数, 标签选择器个数

规则:

  • 从左向右依次比较选个数,同一级个数多的优先级高,如果个数相同,则向后比较
  • !important 权重最高
  • 继承权重最低

Emmet写法

Emmet写法:代码的简写方式,输入缩写 VS Code 会自动生成对应的代码。

HTML:

说明标签结构Emmet
类选择器<div class="box"></div>标签名.类名
id选择器<div id="box"></div>标签名#id名
同级标签<div></div><p></p>div+p
父子级标签<div><p></p></div>div>p
多个相同标签<span>1</span><span>2</span>span*2
有内容的标签<div>内容</div>div{内容}

CSS:

说明CSS属性Emmet
宽度widthw
宽度500pxwidth:500pxw500
背景色background-colorbgc
多个属性width: 200px;height: 100px;background-color: #fff;w200+h100+bgc

背景属性

描述属性
背景色background-color
背景图background-image
背景图平铺方式background-repeat
背景图位置background-position
背景图缩放background-size
背景图固定background-attachment
背景复合属性background

背景图

网页中,使用背景图实现装饰性的图片效果。

属性名:background-image(bgi)

属性值:url(背景图 URL)

div {
	width: 400px;
	height: 400px;
	background-image: url(./images/1.png);
}

背景图默认有平铺(复制)效果。

背景图平铺方式

属性名:background-repeat(bgr)

属性值:

属性值效果
no-repeat不平铺
repeat平铺(默认效果)
repeat-x水平方向平铺
repeat-y垂直方向平铺
div {
	width: 400px;
	height: 400px;
	background-color: pink;
	background-image: url(./images/1.png);
	background-repeat: no-repeat;
}

背景图位置

属性名:background-position(bgp)

属性值:水平方向位置 垂直方向位置

关键字效果
left左侧
right右侧
center居中
top顶部
bottom底部

或是使用坐标:数字 + px,正负都可以

  • 水平:正数向右;负数向左

  • 垂直:正数向下;负数向上

div {
	width: 400px;
	height: 400px;
	background-color: pink;
	background-image: url(./images/1.png);
	background-repeat: no-repeat;
	background-position: center bottom;
	background-position: 50px -100px;
	background-position: 50px center;
}

关键字取值方式写法,可以颠倒取值顺序

可以只写一个关键字,另一个方向默认为居中;数字只写一个值表示水平方向,垂直方向为居中

背景图缩放

作用:设置背景图大小

属性名:background-size(bgz)

常用属性值:

  • 关键字

    • cover:等比例缩放背景图片以完全覆盖背景区,可能背景图片部分看不见

    • contain:等比例缩放背景图片以完全装入背景区,可能背景区部分空白

  • 百分比:根据盒子尺寸计算图片大小

  • 数字 + 单位(例如:px)

div {
	width: 500px;
	height: 400px;
	background-color: pink;
	background-image: url(./images/1.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-size: contain;
}

工作中,图片比例与盒子比例相同,使用 cover 或 contain 缩放背景图效果相同。

背景图固定

作用:背景不会随着元素的内容滚动。

属性名:background-attachment(bga)

属性值:fixed

背景复合属性

属性名:background(bg)

属性值:背景色 背景图 背景图平铺方式 背景图位置/背景图缩放 背景图固定(空格隔开各个属性值,不区分顺序)

div {
	width: 400px;
	height: 400px;
	background: pink url(./images/1.png) no-repeat right 	center/cover;
}

CSS精灵

CSS 精灵,也叫 CSS Sprites,是一种网页图片应用处理方式。把网页中一些背景图片整合到一张图片文件中,再

background-position 精确的定位出背景图片的位置。

优点:减少服务器被请求次数,减轻服务器的压力,提高页面加载速度

实现步骤:

  1. 创建盒子,盒子尺寸与小图尺寸相同

  2. 设置盒子背景图为精灵图

  3. 添加 background-position 属性,改变背景图位置

    • 使用 PxCook 测量小图片左上角坐标

    • 取负数坐标为 background-position 属性值(向左上移动图片位置)

字体图标

字体图标:展示的是图标,本质是字体

作用:在网页中添加简单的、颜色单一的小图标

优点:

  • 灵活性:灵活地修改样式,例如:尺寸、颜色等
  • 轻量级:体积小、渲染快、降低服务器请求次数
  • 兼容性:几乎兼容所有主流浏览器
  • 使用方便:先下载再使用

下载地址:阿里巴巴矢量图标库

下载步骤:登录 → 素材库 → 官方图标库 → 进入图标库 → 选图标,加入购物车 → 购物车,添加至项目,确定 → 下载至本地→解压

在这里插入图片描述

使用字体:

  1. 引入字体样式表

    <link rel="stylesheet" href="./iconfont/iconfont.css">
    
  2. 标签使用字体图标类名

    <span class="iconfont icon-xxx"></span>
    
    1. iconfont:字体图标基本样式(字体名,字体大小等)

    2. icon-xxx:图标对应的类名

      在下载的压缩包中找到demo_index.html可查看图标对应的类名

显示模式

显示模式:标签(元素)的显示方式。

作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容。

  • 块级元素

    • 独占一行
    • 宽度默认是父级的100%
    • 添加宽高属性生效
  • 行内元素

    • 一行可以显示多个
    • 设置宽高属性不生效
    • 宽高尺寸由内容撑开
  • 行内块元素

    • 一行可以显示多个
    • 设置宽高属性生效
    • 宽高尺寸也可以由内容撑开

转换显示模式

属性名:display

属性值:

属性值效果
block
inline-block行内块
inline行内

PxCook

PxCook(像素大厨) 是一款切图设计工具软件。支持PSD文件的文字、颜色、距离自动智能识别

能够测量网页元素尺寸及颜色

盒子模型

作用:布局网页,摆放盒子和内容

盒子模型重要组成部分:

  • 内容区域 – width & height
  • 内边距 – padding(出现在内容与盒子边缘之间)
  • 边框线 – border
  • 外边距 – margin(出现在盒子外面)

在这里插入图片描述

div {
	margin: 50px;
	border: 5px solid brown;
	padding: 20px;
	width: 200px;
	height: 200px;
	background-color: pink;
}

边框线

属性名:border(bd)

属性值:边框线粗细 线条样式 颜色(不区分顺序)

常用线条样式:

属性值线条样式
solid实线
dashed虚线
dotted点线
div {
	border: 5px solid brown;
	width: 200px;
	height: 200px;
	background-color: pink;
}

设置单方向边框线

属性名:border-方位名词(bd+方位名词首字母,例如,bdl)

属性值:边框线粗细 线条样式 颜色(不区分顺序)

div {
	border-top: 2px solid red;
	border-right: 3px dashed green;
	border-bottom: 4px dotted blue;
	border-left: 5px solid orange;
    
	width: 200px;
	height: 200px;
	background-color: pink;
}

内边距

作用:设置 内容 与 盒子边缘 之间的距离。

属性名:padding / padding-方位名词

div {
	/* 四个方向 内边距相同 */
	padding: 30px;
	/* 单独设置一个方向内边距 */
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 40px;
	padding-left: 80px;
    
	width: 200px;
	height: 200px;
	background-color: pink;
}

padding 多值写法

取值个数示例含义
一个值padding: 10px四个方向均为10px
四个值padding: 10px 20px 40px 80px顺序:上;右;下;左
三个值padding: 10px 40px 80px顺序:上;左右;下
两个值padding: 10px 80px顺序:上下;左右

从上开始顺时针赋值,当前方向没有数值则与对面取值相同。

尺寸计算

  • 默认情况:

    盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸

  • 结论:给盒子加 border/padding 会撑大盒子

外边距

作用:拉开两个盒子之间的距离

属性名:margin

提示:与 padding 属性值写法、含义相同

技巧:版心居中 – 左右 margin 值 为 auto(盒子要有宽度)

合并现象

场景:垂直排列的兄弟元素,上下 margin 会合并

现象:取两个 margin 中的较大值生效

塌陷问题

场景:父子级的标签,子级的添加 上外边距 会产生塌陷问题

现象:导致父级一起向下移动

解决方法:

  • 取消子级margin,父级设置padding
  • 父级设置 overflow: hidden
  • 父级设置 border-top

清除默认样式

清除标签默认的样式,比如:默认的内外边距

/* 清除默认内外边距 */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
/* 清除列表项目符号 */
li {
	list-style: none;
}

元素溢出

作用:控制溢出元素的内容的显示方式。

属性名:overflow

属性值:

属性值效果
hidden溢出隐藏
scroll溢出滚动(无论是否溢出,都显示滚动条位置)
auto溢出滚动(溢出才显示滚动条位置)

行内元素-内外边距问题

场景:行内元素添加 margin 和 padding,无法改变元素垂直位置

解决方法:给行内元素添加 line-height 可以改变垂直位置

span {
	/* margin 和 padding 属性,无法改变垂直位置 */
	margin: 50px;
	padding: 20px;
	/* 行高可以改变垂直位置 */
	line-height: 100px;
}

圆角

作用:设置元素的外边框为圆角。

属性名:border-radius

属性值:数字+px / 百分比

属性值是圆角半径

取值个数示例含义
一个值border-radius: 10px四个角均为10px
四个值border-radius: 10px 20px 40px 80px顺序:左上;右上;右下;左下
三个值border-radius: 10px 40px 80px顺序:左上;右上+左下;右下
两个值border-radius: 10px 80px顺序:左上+右下;右上+左下

从左上角开始顺时针赋值,当前角没有数值则与对角取值相同。

常见应用:

正圆形状:给正方形盒子设置圆角属性值为 宽高的一半 / 50%

img {
	width: 200px;
	height: 200px;
	border-radius: 100px;
	border-radius: 50%;
}

胶囊形状:给长方形盒子设置圆角属性值为 盒子高度的一半

div {
	width: 200px;
	height: 80px;
	background-color: orange;
	border-radius: 40px;
}

阴影

作用:给元素设置阴影效果

属性名:box-shadow

属性值:X 轴偏移量 Y 轴偏移量 模糊半径 扩散半径 颜色 内外阴影

  • X 轴偏移量 和 Y 轴偏移量 必须书写
  • 默认是外阴影,内阴影需要添加 inset
div {
	width: 200px;
	height: 80px;
	background-color: orange;
	box-shadow: 2px 5px 10px 0 rgba(0, 0, 0, 0.5) inset;
}

标准流

标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个。

浮动

作用:让块元素水平排列。

属性名:float

属性值

  • left:左对齐
  • right:右对齐

特点:

  • 浮动后的盒子顶对齐
  • 浮动后的盒子具备行内块特点
  • 父级宽度不够,浮动的子级会换行
  • 浮动后的盒子脱标,不占用标准流的位置

清除浮动

场景:浮动元素会脱标,如果父级没有高度,子级无法撑开父级高度(可能导致页面布局错乱)

解决方法:清除浮动(清除浮动带来的影响)

  • 额外标签法

    在父元素内容的最后添加一个块级元素,设置 CSS 属性 clear: both

  • 单伪元素法

    .clearfix::after {
    	content: "";
    	display: block;
    	clear: both;
    }
    
  • 双伪元素法(推荐)

    .clearfix::before,
    .clearfix::after {
    	content: "";
    	display: table;
    }
    .clearfix::after {
    	clear: both;
    }
    
  • overflow

    父元素添加 CSS 属性 overflow: hidden

Flex布局

Flex 布局也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力。

Flex 模型不会产生浮动布局中脱标现象,布局网页更简单、更灵活。

设置方式:给父元素设置 display: flex,子元素可以自动挤压或拉伸

组成

组成部分:

  • 弹性容器
  • 弹性盒子
  • 主轴:默认在水平方向
  • 侧轴 / 交叉轴:默认在垂直方向

在这里插入图片描述

描述属性
创建flex容器display: flex
主轴对齐方式justify-content
侧轴对齐方式align-items
某个弹性盒子侧轴对齐方式align-self
修改主轴方向flex-direction
弹性伸缩比flex
弹性盒子换行flex-wrap
行对齐方式align-content

主轴对齐方式

属性名:justify-content

属性值效果
flex-start默认值,弹性盒子从起点开始依次排列
flex-end弹性盒子从重点开始依次排列
center弹性盒子沿主轴居中排列
space-between弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间
space-around弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧
space-evenly弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

侧轴对齐方式

属性名

• align-items:当前弹性容器内所有弹性盒子的侧轴对齐方式(给弹性容器设置)

• align-self:单独控制某个弹性盒子的侧轴对齐方式(给弹性盒子设置)

属性值效果
stretch弹性盒子沿着侧轴线被拉伸至铺满容器
(弹性盒子没有设置侧轴方向尺寸则默认拉伸)
center弹性盒子沿侧轴居中排列
flex-start弹性盒子从起点开始依次排列
flex-end弹性盒子从终点开始依次排列

修改主轴方向

主轴默认在水平方向,侧轴默认在垂直方向

属性名:flex-direction

属性值效果
row水平方向,从左向右(默认)
column垂直方向,从上向下
row-reverse水平方向,从右向左
column-reverse垂直方向,从下向上

弹性伸缩比

作用:控制弹性盒子的主轴方向的尺寸

属性名:flex

属性值:整数数字,表示占用父级剩余尺寸的份数

弹性盒子换行

弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示。

属性名:flex-wrap

属性值:

  • wrap:换行
  • nowrap:不换行(默认)

行对齐方式

属性名:align-content

属性值效果
flex-start默认值,弹性盒子从起点开始依次排列
flex-end弹性盒子从重点开始依次排列
center弹性盒子沿主轴居中排列
space-between弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子之间
space-around弹性盒子沿主轴均匀排列,空白间距均分在弹性盒子两侧
space-evenly弹性盒子沿主轴均匀排列,弹性盒子与容器之间间距相等

定位

灵活的改变盒子在网页中的位置

实现:

  1. 定位模式:position
  2. 边偏移:设置盒子的位置

属性名:

  • left
  • right
  • top
  • bottom

属性值:

  • 百分比
  • 示例:top: 50%,从父标签顶部开始,向下移动父标签高度50%
  • 示例:right: 30%,从父标签右部开始,向左移动父标签宽度30%

相对定位

position: relative

特点:

  • 不脱标,占用自己原来位置
  • 显示模式特点保持不变
  • 设置边偏移则相对自己原来位置移动

绝对定位

position: absolute

使用场景:子级绝对定位,父级相对定位(子绝父相)

特点:

  • 脱标,不占位
  • 显示模式具备行内块特点
  • 设置边偏移则相对最近的已经定位的祖先元素改变位置
  • 如果祖先元素都未定位,则相对浏览器可视区改变位置

定位居中

实现步骤:

  1. 绝对定位
  2. 水平、垂直边偏移为 50%
  3. 子级向左、上移动自身尺寸的一半
    • 左、上的外边距为 –尺寸的一半
    • transform: translate(-50%, -50%)

固定定位

position: fixed

场景:元素的位置在网页滚动时不会改变

特点:

  • 脱标,不占位
  • 显示模式具备行内块特点
  • 设置边偏移相对浏览器窗口改变位置

堆叠层级

堆叠层级 z-index

默认效果:按照标签书写顺序,后来者居上

作用:设置定位元素的层级顺序,改变定位元素的显示顺序

属性名:z-index

属性值:整数数字(默认值为0,取值越大,层级越高)

修饰属性

垂直对齐方式

属性名:vertical-align

属性值:

属性值效果
baseline基线对齐(默认)
top顶部对齐
middle居中对齐
bottom底部对齐

过渡transition

作用:可以为一个元素在不同状态之间切换的时候添加过渡效果

属性名:transition(复合属性)

属性值:过渡的属性 花费时间 (s)

提示:

  • 过渡的属性可以是具体的 CSS 属性
  • 也可以为 all(两个状态属性值不同的所有属性,都产生过渡效果)
  • transition 设置给元素本身

示例:

img {
	width: 200px;
	height: 200px;
	transition: all 1s;
}
img:hover {
	width: 500px;
	height: 500px;
}

透明度opacity

作用:设置整个元素的透明度(包含背景和内容)

属性名:opacity

属性值:0 – 1

  • 0:完全透明(元素不可见)
  • 1:不透明
  • 0-1之间小数:半透明

光标类型cursor

作用:鼠标悬停在元素上时指针显示样式

属性名:cursor

属性值效果
default默认值,通常是箭头
pointer小手效果,提示用户可以点击
text工字形,提示用户可以选择文字
move十字光标,提示用户可以移动

SEO

SEO:搜索引擎优化,提升网站百度搜索排名

网页头部 SEO 标签:

  • title:网页标题标签
  • description:网页描述
  • keywords:网页关键词

示例:

在这里插入图片描述

Favicon图标

Favicon 图标:网页图标,出现在浏览器标题栏,增加网站辨识度。

图标:favicon.ico,一般存放到网站的根目录里面

<!-- link:favicon -->
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">

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

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

相关文章

【华为OD题库-064】最小传输时延I-java

题目 某通信网络中有N个网络结点&#xff0c;用1到N进行标识。网络通过一个有向无环图.表示,其中图的边的值表示结点之间的消息传递时延。 现给定相连节点之间的时延列表times[]{u&#xff0c;v&#xff0c; w)&#xff0c;其中u表示源结点&#xff0c;v表示目的结点&#xff0…

Windows本地搭建WebDAV服务并使用内网穿透远程访问【无公网IP】

windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】 文章目录 windows搭建WebDAV服务&#xff0c;并内网穿透公网访问【无公网IP】1. 安装IIS必要WebDav组件2. 客户端测试3. cpolar内网穿透3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访…

Unity Meta Quest 一体机开发(八):【手势追踪】实现 Hand Grab 扔物体功能

文章目录 &#x1f4d5;教程说明&#x1f4d5;设置刚体和碰撞体&#x1f4d5;给物体添加 Physics Grabbable 脚本&#x1f4d5;给手部添加 Hand Velocity Calculator 物体 此教程相关的详细教案&#xff0c;文档&#xff0c;思维导图和工程文件会放入 Spatial XR 社区。这是一…

SAS聚类分析介绍

1 聚类分析介绍 1.1基本概念 聚类就是一种寻找数据之间一种内在结构的技术。聚类把全体数据实例组织成一些相似组&#xff0c;而这些相似组被称作聚类。处于相同聚类中的数据实例彼此相同&#xff0c;处于不同聚类中的实例彼此不同。聚类技术通常又被称为无监督学习&#xff0…

2023博思高科技智慧车行、人行专项研讨会成功召开

来源&#xff1a;智安物联网 11月30日&#xff0c;深圳市博思高科技有限公司&#xff08;以下简称“博思高科技”&#xff09;在其总部成功举办了智慧车行、人行专项研讨会议。本次会议邀请了来自国家发改委综合运输研究所的程世东主任&#xff0c;中国安全防范产品行业协会原…

13、pytest为失败的断言定义自己的解释

官方实例 # content of ocnftest.py from test_foocompare import Foodef pytest_assertrepr_compare(op, left, right):if isinstance(left, Foo) and isinstance(right, Foo) and op "":return["Comparing Foo instances:",f" vals:{left.val} !…

第一个小记录达成:第一个年费会员用户

早上看到&#xff0c;欸&#xff0c;有个用户好像充了 9.9 元&#xff0c;挺开心&#xff0c;刚刚看飞书消息&#xff0c;看到了这条分享给朋友&#xff0c;等等&#xff0c;是充值了 99 元&#xff0c;有个用户充了年费&#xff0c;偶买噶&#xff0c;开心 &#x1fae1; 这是…

Mysql集群部署---MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上

1.1 目的 部署MysqlCluster集群环境 1.2 MySQL集群Cluster原理 1 数据分片 MySQL集群Cluster将数据分成多个片段&#xff0c;每个片段存储在不同的服务器上。这样可以将数据负载分散到多个服务器上&#xff0c;提高系统的性能和可扩展性。 2. 数据同步 MySQL集群Cluster使…

技术省钱攻略:代理IP是的最佳计费方式是什么?

代理IP是很多互联网企业最常使用的工具之一&#xff0c;它在我们进行很多互联网业务时都可以帮助企业提高效率和保护隐私。在使用代理IP的过程中&#xff0c;一般用户需要根据自己的需求和预算选择合适的计费方式&#xff0c;今天就让我们一起探讨一下代理IP的最佳计费方式是什…

(C语言)求出1,2,5三个数不同个数组合为100的组合个数

#include<stdio.h> int main() {int count;for(int i 0;i < 100;i )for(int j 0;j < 50;j )for(int k 0;k < 20;k ){if(i j*2 k*5 100){count;printf("100可以拆分为%d个1元&#xff0c;%d个2元&#xff0c;%d个5元\n",i,j,k);} }printf("…

FPGA时序分析与时序约束(一)

一、为什么要进行时序分析和时序约束 PCB通过导线将具有相关电气特性的信号相连接&#xff0c;这些电气信号在PCB上进行走线传输时会产生一定的传播延时。 而FPGA内部也有着非常丰富的可配置的布线资源&#xff0c;能够让位于不同位置的逻辑资源块、时钟处理单元、BLOCK RAM、D…

【初阶解法-数据结构】包含min函数的栈(代码+图示)

【数据结构】刷题-包含min函数的栈(代码图示)-初阶解法 文章目录 【数据结构】刷题-包含min函数的栈(代码图示)-初阶解法题目提炼题目要求分析题目总结思路代码时间/空间复杂度进阶版 题目 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈中所含最小元素的 min 函…

SpringBoot——嵌入式 Servlet容器

一、如何定制和修改Servlet容器的相关配置 前言&#xff1a; SpringBoot在Web环境下&#xff0c;默认使用的是Tomact作为嵌入式的Servlet容器&#xff1b; 【1】修改和server相关的配置&#xff08;ServerProperties实现了EmbeddedServletContainerCustomizer&#xff09;例如…

华为交换机,配置攻击防范示例

攻击防范简介 定义 攻击防范是一种重要的网络安全特性。它通过分析上送CPU处理的报文的内容和行为&#xff0c;判断报文是否具有攻击特性&#xff0c;并配置对具有攻击特性的报文执行一定的防范措施。 攻击防范主要分为畸形报文攻击防范、分片报文攻击防范和泛洪攻击防范。 …

7. 系统信息与系统资源

7. 系统信息与系统资源 1. 系统信息1.1 系统标识 uname()1.2 sysinfo()1.3 gethostname()1.4 sysconf() 2. 时间、日期2.1 Linux 系统中的时间2.1.1 Linux 怎么记录时间2.1.2 jiffies 的引入 2.2 获取时间 time/gettimeofday2.2.1 time()2.2.2 gettimeofday() 2.3 时间转换函数…

MySQL笔记-第02章_MySQL环境搭建

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第02章_MySQL环境搭建1. MySQL的卸载步骤1&#xff1a;停止MySQL服务步骤2&#xff1a;软件的卸载步骤3&#xff1a;残余文件的清理步骤4&am…

【Cesium】实现卷帘对比

一、创建滑块 <style>import url(../Build/CesiumUnminified/Widgets/widgets.css);import url(./Sandcastle/templates/bucket.css);#slider {position: absolute;left: 50%;top: 0px;background-color: #d3d3d3;width: 5px;height: 100%;z-index: 9999;}#slider:hover…

leetcode 876.链表的中间结点

补充上次的环形链表没细讲的快慢指针&#xff08;这三道题现在可以连起来看&#xff09;&#xff0c;希望对你做题思路有帮助 876.链表的中间结点 题目 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结…

机械学习概述

1.1 什么是机器学习 1.1.1 机器的学习能力 1997年5月11日&#xff0c;一台名为“深蓝”的超级电脑战胜国际象棋名家卡斯帕罗夫。20世纪末的一场人机大战终于以计算机的微弱优势取胜。 2016年3月&#xff0c;阿尔法围棋程序&#xff08;AlphaGo&#xff09;挑战世界围棋冠军李…

windows11 调整鼠标灵敏度方法

首先 我们打开电脑设置 或者在 此电脑/此计算机/我的电脑 右击选择属性 然后 有的电脑 左侧菜单中 直接就有 设备 然后在设备中直接就可以找到 鼠标 选项 调整光标速度即可 如果操作系统和我的一样 可以直接搜索鼠标 然后 选择 鼠标设置 然后 调整上面的鼠标指针速度即可