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 ,出现版本号即安装成功。 设置 …...

Qt C++设计模式->访问者模式
访问者模式(Visitor Pattern)是一种行为型设计模式,它将操作与对象结构分离,使得你可以在不改变对象结构的前提下定义作用于这些对象的新操作。访问者模式通过引入一个访问者对象,允许你在不修改类的前提下向已有类添加…...

手机在网状态的详细应用场景有哪些?
手机在网状态的详细应用场景涵盖了多个行业和领域,以下是一些具体的例子: 金融行业 风控审核:银行、贷款公司等金融机构在审批贷款或信用卡时,可以通过查询手机在网状态来验证申请人的手机号码是否真实有效,从而降低欺…...

Linux的kafka安装部署
1.kafka是一个分布式的,去中心化的,高吞吐低延迟,订阅模式的消息队列系统 确保要有jdk与zookeeper安装配置 2.下载kafka安装包 http://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.1.tgz 此时可以wget http://archive.apache.org/dist/kafka/2.4.1/kafka_2.12-2.4.…...

docker部署虚拟机
创建新的容器web02,-v表示目录映射,-p时端口映射,把宿主机目录挂载到容器中 docker run -itd -p 80:80 -v /data/webapps/www/:/usr/share/nginx/html/ --nameweb02 nginx:latest 此时我们在发布网站时只需要放在宿主机的目录里就可以了 解…...

如何用ChatGPT 8小时写出一篇完整论文(附完整提示词)
今天教大家如何利用ChatGPT完成一篇完整的论文。只需要一个标题,剩下全部由ChatGPT完成。总耗时8小时。 阅前提醒: 1.适用人群:这个方法适合应付简单的学术任务,比如日常小论文或投稿一般期刊。但如果你要写高水平的论文…...

AWS MySQL 升级(三)—— TAZ - 近0停机的小版本升级方案
与AWS交流了解到的新方案,没有实际试过,所以本篇主要是些原理 一、 TAZ的含义 TAZ实际上就是 3 AZ,扩展一些就是 Multi-AZ DB Cluster,即在3个可用区部署DB,具备两个只读备用实例。 二、 TAZ的主要用途 1. 近0停机的小…...

Redis的应用以及Redis工具类的封装
在前后端分离的项目中,通过session和cookie的通信一般就失去效益了,即使这么做了也会产生著名的漏洞问题CSRF(Cross-site request forgery), 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。因…...

E系列I/O模块在锂电装备制造系统的应用
为了满足电池生产线对稳定性和生产效率的严苛要求,ZLG致远电子推出高速I/O应用方案,它不仅稳定可靠,而且速度快,能够迅速响应生产需求。 锂电池的生产工艺较为复杂,大致分为三个主要阶段:极片制作、电芯制作…...

ElasticsearchClient入门指南
在本教程中,我们将探讨如何使用Elasticsearch的官方Java客户端 - ElasticsearchClient。这个强大的工具允许您的Java应用程序与Elasticsearch集群进行交互,执行各种操作,如索引文档、执行搜索查询等。 前提条件 在开始之前,确保您的项目中已经包含了必要的依赖。您可以通过Ma…...

软考中级笔记
上午题 二 程序设计语言 6′ 1、编译程序和解释程序 解释器:翻译源程序时不生成独立的目标程序。 解释程序和源程序要参与到程序的运行过程中。 编译器:翻译时将源程序翻译成独立保存的目标程序。 机器上运行的是与源程序等价的目标程序。 源程序和编…...