CSS3--美若天仙!?
免责声明:本文仅做分享~
目录
CSS引入方式
选择器
盒子尺寸和背景色
文字控制属性
单行文字 垂直居中
字体族
font复合属性
文本对齐方式
文本修饰线
color 文字颜色
-----
复合选择器
伪类选择器
超链接伪类
CSS特性
继承性
层叠性
优先级
Emmet 写法
背景属性
背景图平铺方式
背景图缩放
背景图固定
背景复合属性
显示模式
块级元素
行内元素
行内块元素
-转换显示模式
-----
结构伪类选择器
:nth-child(公式)
伪元素选择器
盒子模型
组成
边框线
内边距
尺寸计算
外边距
外边距问题 – 合并现象
外边距问题 – 塌陷问题
行内元素 – 内外边距问题
清除默认样式
元素溢出
圆角
阴影
标准流
浮动
清除浮动
总结
flex布局
组成部分:
主轴对齐方式
侧轴对齐方式
修改主轴方向
弹性伸缩比
弹性盒子换行
行对齐方式
CSS引入方式
内部样式:CSS 代码写在 style 标签里面.
外部样式:CSS 代码写在单独的 CSS 文件中(.css) 在 HTML 使用 link 标签引入 .
<link rel="stylesheet" href="./my.css">
行内样式:配合 JavaScript 使用,CSS 写在标签的 style 属性值里.
选择器
选择器: <br>
标签选择器: <br>
类选择器: <br> .
ID选择器: <br> #
属性选择器: <br>
伪类选择器: <br>
伪元素选择器: <br>
通配符选择器: <br> <!-- 一般删除一些样式时使用 --> *{}
盒子尺寸和背景色
文字控制属性
行高的测量方法:从一行文字的最顶端(最底端)量到下一行文字的最顶端(最底端)。
单行文字 垂直居中
行高属性值等于盒子高度属性值.
字体族
属性名:font-family
属性值:字体名
font-family属性值可以书写多个字体名,各个字体名用逗号隔开,执行顺序是从左向右依次 查找.
font-family 属性最后设置一个字体族名,网页开发建议使用无衬线字体.
font复合属性
设置网页文字公共样式.
属性的简写方式,一个属性对应多个值的写法,各个属性值之间用空格隔开。
font: 是否倾斜 是否加粗 字号/行高 字体(必须按顺序书写)
--字号和字体值必须书写.
文本对齐方式
控制内容水平对齐方式 . 属性名:text-align
#divs3 {
text-align: center;
}
text-align本质是控制内容的对齐方式,属性要设置给内容的父级。
文本修饰线
text-decoration
color 文字颜色
-----
复合选择器
伪类选择器
伪类表示元素状态,选中元素的某个状态设置样式。
鼠标悬停状态:选择器:hover { CSS 属性 }
超链接伪类
如果要给超链接设置以上四个状态,需要按 LVHA 的顺序书写。
CSS特性
继承性 层叠性 优先级
css三大特性:继承、层叠、优先级 <br>
继承:子元素继承父元素的样式。 (文字控制属性。)
层叠:同一元素的样式层叠,后面的样式覆盖前面的样式。
优先级(权重):!important > 内联样式 > 外部样式表 > 内部样式表 > 浏览器默认样式。
id > class > 标签选择器 > 通配符选择器
继承性
继承性:子级默认继承父级的 文字控制属性。
如果标签有默认文字样式会继承失败。 例如:a 标签的颜色、标题的字体大小。
层叠性
特点: 相同的属性会覆盖:后面的 CSS 属性覆盖前面的 CSS 属性
不同的属性会叠加:不同的 CSS 属性都生效。
优先级
优先级:也叫权重,当一个标签使用了多种选择器时,基于不同种类的选择器的匹配规则。
基础选择器:
规则:选择器优先级高的样式生效。
公式:
通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important
(选中标签的范围越大,优先级越低)
复合选择器-叠加 :
叠加计算:如果是复合选择器,则需要权重叠加计算。
公式:(每一级之间不存在进位)
规则:
从左向右依次比较选个数,同一级个数多的优先级高,如果个数相同,则向后比较
!important 权重最高
继承权重最低
Emmet 写法
代码的简写方式,输入缩写 VS Code 会自动生成对应的代码。
背景属性
背景图默认有平铺(复制)效果。 bgi
背景图平铺方式
background-repeat(bgr)
背景图缩放
设置背景图大小
background-size(bgz)
常用属性值: 关键字
cover:等比例缩放背景图片以完全覆盖背景区,可能背景图片部分看不见
contain:等比例缩放背景图片以完全装入背景区,可能背景区部分空白 百分比:根据盒子尺寸计算图片大小 数字 + 单位(例如:px)
(图片比例与盒子比例相同,使用 cover 或 contain 缩放背景图效果相同。)
背景图固定
背景不会随着元素的内容滚动。
background-attachment(bga)
fixed
背景复合属性
background(bg)
属性值:
背景色 背景图 背景图平铺方式 背景图位置/背景图缩放 背景图固定
(空格隔开各个属性值,不区分顺 序)
显示模式
显示模式:标签(元素)的显示方式。
作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容。
块级元素
l 独占一行 div
l 宽度默认是父级的100%
l 添加宽高属性生效
行内元素
l 一行可以显示多个 span
l 设置宽高属性不生效
l 宽高尺寸由内容撑开
行内块元素
l 一行可以显示多个
l 设置宽高属性生效
l 宽高尺寸也可以由内容撑开
-转换显示模式
-----
结构伪类选择器
作用:根据元素的结构关系查找元素。
:nth-child(公式)
n=0 -->
伪元素选择器
创建虚拟元素(伪元素),用来摆放装饰性的内容。
• 必须设置 content: ””属性,用来 设置伪元素的内容,如果没有内容,则引号留空即可
• 伪元素默认是行内显示模式
• 权重和标签选择器相同
盒子模型
组成
• 内容区域 – width & height
• 内边距 – padding(出现在内容与盒子边缘之间)
• 边框线 – border
• 外边距 – margin(出现在盒子外面)
边框线
属性名:border(bd) 属性值:边框线粗细 线条样式 颜色(不区分顺序)
设置单方向边框线 :
属性名:border-方位名词(bd+方位名词首字母,例如,bdl)
属性值:边框线粗细 线条样式 颜色(不区分顺序)
内边距
设置 内容 与 盒子边缘 之间的距离。
padding / padding-方位名词
尺寸计算
盒子尺寸 = 内容尺寸 + border 尺寸 + 内边距尺寸
l 结论:给盒子加 border / padding 会撑大盒子
l 解决:
l 手动做减法,减掉 border / padding 的尺寸
l 內减模式:box-sizing: border-box
外边距
拉开两个盒子之间的距离.
margin
与 padding 属性值写法、含义相同.
版心居中 – 左右 margin 值 为 auto(盒子要有宽度)
外边距问题 – 合并现象
场景:垂直排列的兄弟元素,上下 margin 会合并.
现象:取两个 margin 中的较大值生效.
外边距问题 – 塌陷问题
场景:父子级的标签,子级的添加 上外边距 会产生塌陷问题.
现象:导致父级一起向下移动.
解决方法:
• 取消子级margin,父级设置padding
• 父级设置 overflow: hidden
• 父级设置 border-top
行内元素 – 内外边距问题
场景:行内元素添加 margin 和 padding,无法改变元素垂直位置
解决方法:给行内元素添加 line-height 可以改变垂直位置
清除默认样式
元素溢出
控制溢出元素的内容的显示方式。
overflow
圆角
border-radius
正圆形状 -- 给正方形盒子设置圆角属性值为 宽高的一半 / 50%
胶囊形状 -- 给长方形盒子设置圆角属性值为 盒子高度的一半.
阴影
box-shadow : X 轴偏移量 Y 轴偏移量 模糊半径 扩散半径 颜色 内外阴影
标准流
标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个.
div
span
浮动
让块元素水平排列。
清除浮动
场景:浮动元素会脱标,如果父级没有高度,子级无法撑开父级高度(可能导致页面布局错乱) 解决方法:清除浮动(清除浮动带来的影响)
方法一:额外标签法
• 在父元素内容的最后添加一个块级元素,设置 CSS 属性 clear: both
方法二:单伪元素法
方法三:双伪元素法(推荐)
方法四:overflow --最简单.
• 父元素 添加 CSS 属性 overflow: hidden
总结
浮动属性 float,left 表示左浮动,right 表示右浮动
l特点
1.浮动后的盒子顶对齐
2.浮动后的盒子具备行内块特点
3.父级宽度不够,浮动的子级会换行
4.浮动后的盒子脱标
l清除浮动:子级浮动,父级没有高度,子级无法撑开父级高度,影响布局效果
推荐双伪元素法清除浮动。
l拓展:浮动本质作用是实现图文混排效果。
flex布局
--用的更多。
Flex 布局也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力。
Flex 模型不会产生浮动布局中脱标现象,布局网页更简单、更灵活。
设置方式:给父元素设置 display: flex,子元素可以自动挤压或拉伸。
组成部分:
•弹性容器
•弹性盒子
•主轴:默认在水平方向
•侧轴 / 交叉轴:默认在垂直方向
--沿主轴方向排列。
主轴对齐方式
justify-content
/* 各个间距都相等 */
justify-content: space-evenly;
侧轴对齐方式
•align-items:当前弹性容器内所有弹性盒子的侧轴对齐方式(给弹性容器设置)
•align-self:单独控制某个弹性盒子的侧轴对齐方式(给弹性盒子设置)
侧轴无高度 / stretch
修改主轴方向
主轴默认在水平方向,侧轴默认在垂直方向。
属性名:flex-direction
主轴 ,侧轴
弹性伸缩比
作用:控制弹性盒子的主轴方向的尺寸。
属性名:flex
属性值:整数数字,表示占用父级剩余尺寸的份数。
弹性盒子换行
弹性盒子可以自动挤压或拉伸,默认情况下,所有弹性盒子都在一行显示。
flex-wrap
wrap:换行
nowrap:不换行(默认)
行对齐方式
align-content
--该属性对单行弹性盒子模型无效。
相关文章:

CSS3--美若天仙!?
免责声明:本文仅做分享~ 目录 CSS引入方式 选择器 盒子尺寸和背景色 文字控制属性 单行文字 垂直居中 字体族 font复合属性 文本对齐方式 文本修饰线 color 文字颜色 ----- 复合选择器 伪类选择器 超链接伪类 CSS特性 继承性 层叠性 优先级 Emmet …...

详细版的Jsoncpp的使用,包括在VS环境下配置
目录 准备环境VS 环境下配置编译使用 基础概述Json 数组Json 对象 Jsoncpp 的使用ValueFastWriterReader示例 如果想要 Json 部署在 Linux 上 参考: https://blog.csdn.net/2303_76953932/article/details/142703683?spm1001.2014.3001.5502 C中原生不支持 Json,所…...
开发指南070-3d模型
平台集成了应用于3d展示场景的相关底层,支持fbx和gltf两种模型格式。 样例如下: <div class"fullcontainer"> <div style"width:80%"> <iframe :src"url" width"100%" height"…...

问卷调查毕设计算机毕业设计投票系统SpringBootSSM框架
目录 一、引言 二、需求分析 用户角色: 功能需求: 非功能需求: 三、系统设计 技术选型: 数据库设计: 界面设计: 四、实现步骤 后端实现: …...

JavaWeb三大组件之Servlet
1. Servlet 一、Servlet介绍 1、概念 Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成…...
C++设计模式学习详解(23种)
C设计模式学习详解 设计模式是软件开发中常见问题的可复用解决方案。它们不是可以直接转换为代码的成品,而是描述解决问题的通用方法。C 中常用的设计模式可以分为三大类:创建型模式、结构型模式和行为型模式。 一、创建型模式 (Creational Patterns) …...
Matlab中实现类属性仅在首次创建类实例时初始化
背景描述: 在自定义类中,需要定义一些属性(标志位)用于触发某些方法,标志位只需要在类对象第一次实例化时赋初值,之后的值需要在特定的地方设置。怎样保证在不同实例中,标志位的值仅在特定的时候改变,其他时候保持不变…...
FLINK SQL动态表连续查询
SQL动态表 在Apache Flink中,动态表是Flink SQL处理流数据的核心概念之一。与静态表(如关系数据库中的传统表)不同,动态表的内容是随时间不断变化的,因为它们能够反映数据流的最新状态。动态表可以看作是对数据流的一…...

C++ | Leetcode C++题解之第468题验证IP地址
题目: 题解: class Solution { public:string validIPAddress(string queryIP) {if (queryIP.find(.) ! string::npos) {// IPv4int last -1;for (int i 0; i < 4; i) {int cur (i 3 ? queryIP.size() : queryIP.find(., last 1));if (cur st…...

每日学习一个数据结构-图
文章目录 图基础一、图的定义二、图的相关概念三、图的分类四、图的使用场景 和图相关的算法一、图的遍历算法二、最短路径算法三、最小生成树算法四、图匹配算法五、网络流算法 图基础 一、图的定义 在数学中,图是描述于一组对象的结构,其中某些对象对…...
kali(专业的渗透测试虚拟机)|kali下载链接地址 |kali安装 |kali部署指南
介绍 kali 是Debian开源linux系统体系下的子分支之一 Debian-kali 扩展:Ubuntu也是Debian开源linux系统体系下的子分支之一 Debian-ubuntu 安装kali 2023.03 稳定版 Index of /kali-images/kali-2023.1/ 安装可以参考他的教程, 写的很详细了…...

中国地级市生态韧性数据及城市生态韧性数据(2000-2022年)
一测算方式: 参考C刊《管理学刊》楚尔鸣(2023)老师的做法,城市生态韧性主要衡量一个城市在面临生态环境系统压力或突发冲击时,约束污染排放、维护生态环境状态和治理能力提升的综合水平。 参考郭海红和刘新民的研究&a…...

应对网络安全挑战:App等保测评的重要性与策略
在全球数字化转型的大潮中,移动应用(App)作为连接人们日常生活与互联网世界的桥梁,其数量与日俱增,功能日趋多样化。与此同时,App背后潜藏的网络安全风险也随之上升,数据泄露、隐私侵犯、恶意软件植入等问题频发&#…...

vue后台管理系统从0到1搭建(4)各组件的搭建
文章目录 vue后台管理系统从0到1搭建(4)各组件的搭建Main.vue 组件的初构 vue后台管理系统从0到1搭建(4)各组件的搭建 Main.vue 组件的初构 根据我们的效果来看,分析一下,我们把左边的区域分为一个组件&am…...

LabVIEW开关磁阻电机特性测量系统
基于LabVIEW软件和特定硬件组件的开关磁阻电机(SRM)特性测量系统,结合多功能数据采集卡,统能够准确地测量并分析SRM的电磁特性,从而支持电机模型的精确建立和性能优化。 项目背景 在工业生产和家用电器领域࿰…...

在当前网络环境中查看所有IPv4与Mac地址的方法
在powershell界面中: # 获取并显示所有网络接口的MAC地址和IPv4地址 Get-NetAdapter | Select-Object -Property Name, MacAddress, Status Get-NetAdapter | Get-NetIPAddress -AddressFamily IPv4 | Select-Object -Property InterfaceAlias, IPAddress, PrefixL…...

CSS @规则(At-rules)系列详解___@charset规则使用方法
CSS 规则(At-rules)系列详解 ___charset规则使用方法 本篇目录: 零、时光宝盒 一、charset规则定义和用法 二、CSS charset语法 三、charset 使用方法例子 1、正确使用方法 2、无效的,错误的使用方法 零、时光宝盒 (https://blog.csd…...

黑马程序员C++核心编程学习笔记
黑马程序员C核心编程学习笔记 一、内存 1.1 内存四区 C程序在执行时,将内存大致分为4个区域:代码区,全局区,栈区,堆区 代码区:存放函数体的的二进制代码,操作系统管理。 🔵特点&a…...

六自由度平台
力姆泰克六自由度平台 安装方便,维护简单 多重机械电气安全保护 向下翻动查看更多 力姆泰克伺服系统集成 全新革命性结构设计与六轴先进伺服控制原理的结合,力姆泰克公司引进国外的专业技术在国内全新推出 全电动六自由度平台。将完全替代市场上原有的…...
【Node.js 下载及npm安装配置】亲测可用
Node.js 下载及npm安装配置 安装nodejs设置安装angular 安装nodejs 下载适用自己系统的node.js,官网:https://nodejs.cn/download/。默认安装即可。查看是否安装成功,node -v,npm -v ,出现版本号即安装成功。 设置 …...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...