【CSS】一篇掌握CSS
不是因为有了希望才去坚持,而是坚持了才有了希望
目录
一.导入方式
1.行内样式
2.内部样式
3.外部样式(常用)
二.选择器
1.基本选择器(常用)
1.1标签选择器
1.2类选择器
1.3id选择器
2.层次选择器
2.1后代选择器
2.2子选择器
2.3相邻兄弟选择器
2.4通用兄弟选择器
3.结构伪类选择器
4.属性选择器
三..美化网页
1.字体样式font
2.文本样式text
3.超链接伪类
4.列表样式
5.背景background
四.盒子模型
1.边距参数顺序
2.边框border
2.1圆角边框
五.浮动
1.display
2.float
3.黑框塌陷问题
3.1 overflow
4.display和float对比
六.定位position
1.相对定位relative
2.绝对定位absolute
3.固定定位fixed
4.图层z-index
一.导入方式
1.行内样式
在标签元素中,编写一个style属性,编写样式即可
<h1 style = "color : red">我是标题</h1>
2.内部样式
在html的style标签内书写
<style>h1{color: red;}
</style>
3.外部样式(常用)
在html内使用link标签导入外部css文件,在外部书写css代码
<link rel="stylesheet" href="css/style.css">

二.选择器
1.基本选择器(常用)

1.1标签选择器
<h1 class = 'class' id = 'id'>我是标题</h1>
h1{color: red;
}
1.2类选择器
.class{color: blue;
}
1.3id选择器
#id{color: black;
}
优先级
id选择器>类选择器>标签选择器(上面的h1标签显示为黑色)
2.层次选择器
2.1后代选择器

body后面的所有p标签
2.2子选择器

body后面的第一代标签
2.3相邻兄弟选择器

下面的一个兄弟+
2.4通用兄弟选择器

下面的所有兄弟~
3.结构伪类选择器

4.属性选择器
格式
标签[]{}
a[id]{}
/*a标签中存在id属性的元素*/
a[id = links]{}
/*a标签中id是links的元素*/
a[id *= links]{}
/*a标签中id包含links的元素*/
a[id ^= links]{}
/*a标签中id以links开头的元素*/
a[id $= links]{}
/*a标签中id以links结尾的元素*/

类似于正则表达式
三..美化网页
1.字体样式font

2.文本样式text

a{color: rgba(0,255,255,0.9);/*0.9是透明度*/text-align: center;/*文字左右居中*/text-indent: 2em;/*首行缩进2格*/height: 300px;line-height: 300px;/*字体高度和整体高度一直,就会上下居中*/text-decoration: none;/*取消下划线*/
}

图片和文本对齐
<p><img src="../resources/image/1.jpg" alt=""><span>我是奶龙</span>
</p>
img,span{vertical-align: middle;
}
显示效果

3.超链接伪类
鼠标悬停执行
a:hover{color: red;
}
4.列表样式
ul li{list-style: none;/*去掉圆点*/list-style: circle;/*空心圆*/list-style: decimal;/*有序数字*/list-style: square;/*正方形*/
}
5.背景background
添加背景默认为全部平铺
a{background: red url("resources/image/1.jpg") 270px 10px no-repeat;
}
颜色,图片地址,图片位置,平铺方式no-repeat就是不平铺,如下图
直接设置背景颜色
a{background: red;
}
四.盒子模型

在网页中,每个元素都是一个盒子模型,网页会有默认的边距大小,所以一般需要初始化边距为0
h1,ul,li,a,body{margin: 0;/*外边框设置为0*/padding: 0;/*内边框设置为0*/text-decoration: none;/*消除下划线*/
}

1.边距参数顺序
每个盒子是一个矩形,他有四个边,所以设置内外边距的时候会有四个参数
margin: 10px 10px 10px 10px;
如果传入四个参数是上左下右(顺时针旋转)
传入两个参数是上下和左右
传入一个参数就是全部
自动设置边距使元素居中auto
margin: 0 auto;
2.边框border

border : 3px solid red; (solid是实线,dashed是虚线)
2.1圆角边框

圆形 = 宽度的一半
五.浮动
在一个网页中,每个元素会出现在不同的位置,我们要对这些元素进行布局,就需要用到浮动


这些元素有默认的布局方式,我们要改变他们来手动布局
1.display
这里我们需要引入一个抽象概念,我们可以叫他黑框
我们在写html代码的时候,会写很多div,把一些元素放到div中,这个div就是一个边界,使用display改变元素属性的时候,不会使他离开这个"黑框div"
display : block;(块元素)
display : inline;(行内元素)
display : inline-block;(既是行内元素也是块元素),是块元素但是可以在一行
行内元素不能设定height和width,必须要变成块元素才可以设定
导航栏就是ul li标签变成行内元素
2.float
浮动就是把这个块元素单独飘起来,会飘出黑框外
float : left; 左浮
float : right; 右浮
浮动会导致元素挤在一起,所以我们需要清除浮动clear both;
既有浮动效果,也要有块元素效果(就让他排下去,不要挤在一起),就要清除浮动

3.黑框塌陷问题
我们知道,浮动会飘出黑框外,我们不想出现这种情况就要解决黑框塌陷问题




推荐使用第四种方法
3.1 overflow

overflow : scroll 规定文本或图片超过了高度,加滚动条(没人会用这个)

overflow : hidden 规定文本或图片超过了高度,会隐藏(知道这个就行)

4.display和float对比

六.定位position
我们对一个网页中的元素进行布局的时候,还需要设置他们具体的位置,所以就要用到定位
1.相对定位relative
相对于自己原来的位置偏移,仍然在黑框中,没有塌陷,原来的位置会被保留
position : relative
top : -20px; (距离上面-20px,就是上移)
left : 20px; (距离左边20px,就是右移)
bottom : -10px(距离下面-10px,就是下移)
right : 20px(距离右边20px,就是左移)





2.绝对定位absolute

一般都是相对于父元素定位
给父级元素加上相对定位,就会相对于父级元素定位
不给父元素加相对定位就会相对于浏览器定位,滚动滑轮位置会变(初始浏览器大小)
给父元素加上相对定位relative

自身相对于父元素左移30px

3.固定定位fixed

这里设置第一个div元素相对于浏览器位于初始的右下角,但是滚动滑轮位置会变
设置第二个div元素固定定位在浏览器右下角,滚动滑轮位置不会变

4.图层z-index
我们需要把一些块元素堆叠的时候,就需要使用z-index来决定谁在上谁在下


练习
HTML代码

CSS代码



opacity透明度

相关文章:
【CSS】一篇掌握CSS
不是因为有了希望才去坚持,而是坚持了才有了希望 目录 一.导入方式 1.行内样式 2.内部样式 3.外部样式(常用) 二.选择器 1.基本选择器(常用) 1.1标签选择器 1.2类选择器 1.3id选择器 2.层次选择器 2.1后代选择器 2.2子选择器 2.3相邻兄弟选择器 2.4通用兄弟选择器…...
分层图最短路
常见情形: 对于边有k次操作的题。。 整体思想: 分层图最短路可以视作是dijkstra的一个扩展,通常用于处理N小于10000,或者是k不大的情形。整体有点类似于拆点。将一个点拆成k个点处理。层与层之间互不影响。 好了我就说这么多&…...
vue3 基本使用
Vue 3 提供了多种方式来构建用户界面,包括选项式 API 和 Composition API。下面我将详细介绍 Vue 3 的基本使用和语法,主要集中在选项式 API 上,因为这对于初学者来说更容易上手。 1. 创建 Vue 项目 如果你还没有一个 Vue 项目,…...
【maven-4】IDEA 配置本地 Maven 及如何使用 Maven 创建 Java 工程
IntelliJ IDEA(以下简称 IDEA)是一款功能强大的集成开发环境,广泛应用于 Java 开发。下面将详细介绍如何在 IDEA 中配置本地 Maven,并创建一个 Maven Java 工程,快速上手并高效使用 Maven 进行 Java 开发。 1. Maven …...
种花问题算法
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。 给你一个整数数组 flowerbed 表示花坛,由若干 0 和 1 组成,其中 0 …...
对于大规模的淘宝API接口数据,有什么高效的处理方法?
1.数据分批处理 原理:当处理大规模数据时,一次性将所有数据加载到内存中可能会导致内存溢出。将数据分成较小的批次进行处理可以有效避免这个问题。示例代码:假设通过淘宝 API 获取到了一个包含大量商品详情的 JSON 数据列表,每个…...
openharmony 使用uvc库获取摄像头数据使用nativewindow显示
界面代码: XComponent({ id: xcomponentId, type: texture, libraryname: entry }).width(800).height(500) Natvie代码: 1、头文件 //NativeWindow #include <ace/xcomponent/native_interface_xcomponent.h> #include <cstdint> #incl…...
SQL Server 实战 - 多种连接
目录 背景 一、多种连接 1. 复合连接条件 2. 跨数据库连接 3. 隐连接 4. 自连接 5. 多表外连接 6. UNION ALL 二、一个对比例子 背景 本专栏文章以 SAP 实施顾问在实施项目中需要掌握的 sql 语句为偏向进行选题: 用例:SAP B1 的数据库工具&am…...
【手术显微镜】市场高度集中,由于高端手术显微镜的制造技术主要掌握于欧美企业
摘要 HengCe (恒策咨询)是全球知名的大型咨询机构,长期专注于各行业细分市场的调研。行业层面,重点关注可能存在“卡脖子”的高科技细分领域。企业层面,重点关注在国际和国内市场在规模和技术等层面具有代表性的企业,…...
IDEA 2024 配置Maven
Step 1:确定下载Apache Maven版本 在IDEA 2024中,随便新建一个Maven项目; 在File下拉菜单栏中,找到Setings; 在Build,Execution,Deployment中找到Maven 确定下载的Apache Maven版本应略低于或等于IDEA绑…...
Admin.NET框架使用宝塔面板部署步骤
文章目录 Admin.NET框架使用宝塔面板部署步骤🎁框架介绍部署步骤1.Centos7 部署宝塔面板2.部署Admin.NET后端3.部署前端Web4.访问前端页面 Admin.NET框架使用宝塔面板部署步骤 🎁框架介绍 Admin.NET 是基于 .NET6 (Furion/SqlSugar) 实现的通用权限开发…...
Flutter中的Future和Stream
在 Flutter 中,Future 和 Stream 都是用于处理异步操作的类,它们都基于 Dart 的异步编程模型,但是它们的使用场景和工作方式有所不同。以下是它们的区别以及各自适用的场景。 目录 一、Future1、基本使用2、异常处理1. catchError2. onError…...
107.【C语言】数据结构之二叉树求总节点和第K层节点的个数
目录 1.求二叉树总的节点的个数 1.容易想到的方法 代码 缺陷 思考:能否在TreeSize函数内定义静态变量解决size的问题呢? 其他写法 运行结果 2.最好的方法:分而治之 代码 运行结果 2.求二叉树第K层节点的个数 错误代码 运行结果 修正 运行结果 其他写法 1.求二…...
spring boot支持那些开发工具?
Spring Boot 支持多种开发工具,以帮助开发者更高效地进行应用开发。以下是小编给大家分享几种常用的开发工具及其特点: IntelliJ IDEA: IntelliJ IDEA 是一款非常流行的 Java IDE,它提供了对 Spring Boot 的全面支持,…...
Go-MediatR:Go语言中的中介者模式
在Go语言中,确实存在一个与C#中的MediatR类似的组件包,名为Go-MediatR。 Go-MediatR是一个受.NET中MediatR库启发的Go语言实现,它专注于通过中介者模式简化命令查询责任分离(CQRS)模式的处理和在事件驱动架构中的应用…...
5.11【机器学习】
先是对图像进行划分 划分完后, 顺序读取文件夹,在文件夹里顺序读取图片, 卷积层又称为滤波器,通道是说滤波器的个数,黑白通道数为1,RGB通道个数为3 在输入层,对于输入层而言,滤波…...
在 CentOS 上安装 Docker:构建容器化环境全攻略
一、引言 在当今的软件开发与运维领域,Docker 无疑是一颗璀璨的明星。它以轻量级虚拟化的卓越特性,为应用程序的打包、分发和管理开辟了崭新的高效便捷之路。无论是开发环境的快速搭建,还是生产环境的稳定部署,Docker 都展现出了…...
Python练习(2)
重复元素判定续。利用集合的无重复性来编写一个程序如果有一个元素出现了不止一次则返回true但不要改变原来列表的值: 一: def has_duplicates(lst): # 使用集合来存储已经见过的元素 seen set() for item in lst: if item in seen: # 如果元素已经在…...
如何实现一套键盘鼠标控制两台计算机(罗技Options+ Flow功能快速实现演示)
需求背景 之前我写过一篇文章如何实现一套键盘鼠标控制两台计算机(Mouse Without Borders快速上手教程)_一套键鼠控制两台电脑-CSDN博客 当我们在局域网内有两台计算机,想使用一套键鼠操控时,可以安装Mouse Without Borders软件…...
现代应用程序中基于 Cell 架构的安全防护之道
在飞速发展的软件开发领域,基于 Cell 的架构日益流行起来。其概念源自船舶舱壁的设计准则,即单独的水密舱室能允许故障孤立存在。通过将这个概念应用于软件,我们创建了一个架构,将应用程序划分为离散的、可管理的组件,…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Linux 内存管理实战精讲:核心原理与面试常考点全解析
Linux 内存管理实战精讲:核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用,还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
