一七六、CSS 介绍及示例

CSS 介绍及示例

CSS(Cascading Style Sheets)是层叠样式表的缩写,主要用于控制网页元素的样式,如颜色、字体、布局等。以下是常见的 CSS 属性及其示例。


Box 模型相关属性

1. width / height

用于设置元素的宽度和高度。

div {width: 200px;height: 100px;background-color: lightblue;
}
2. margin / padding

margin 用于设置元素外边距,padding 用于设置元素内边距。

div {margin: 20px;padding: 10px;background-color: lightcoral;
}
3. border

设置元素的边框。

div {border: 2px solid black;
}
4. box-sizing: content-box / border-box

控制元素的盒子模型,content-box 是默认值,border-box 包括边框和内边距。

/* content-box */
div {width: 200px;padding: 20px;border: 2px solid black;box-sizing: content-box;  /* 宽度加上内边距和边框 */
}/* border-box */
div {width: 200px;padding: 20px;border: 2px solid black;box-sizing: border-box; /* 宽度包括内边距和边框 */
}
5. display

控制元素的显示类型,常见值有 block, inline, inline-block, none 等。

div {display: inline-block;width: 100px;height: 50px;background-color: lightgreen;
}

Float 属性

1. float: left / right

使元素浮动至容器的左侧或右侧。

div {float: left;width: 100px;height: 100px;background-color: lightyellow;
}
2. clear: none / left / right / both / inherit

清除浮动,使元素避免被浮动元素影响。

div {clear: both;
}

Position 属性

1. position: static / inherit / relative / absolute / fixed

控制元素的定位方式。

  • static: 默认,不进行定位。
  • relative: 相对定位,相对于元素的正常位置。
  • absolute: 绝对定位,相对于最近的定位祖先元素。
  • fixed: 固定定位,相对于浏览器窗口。
  • inherit: 继承父元素的定位属性。
/* relative */
div {position: relative;top: 10px;left: 20px;background-color: lightpink;
}
2. z-index

设置元素的堆叠顺序,值越大越靠前。

div {position: absolute;z-index: 10;background-color: lightblue;
}
3. top / right / bottom / left

指定元素的相对位置。

div {position: absolute;top: 50px;left: 50px;background-color: lightblue;
}

选择器(Selector)

基础
  • *
  • ####
  • .
  • ele
层级
  • ,
  • 空格
  • >
  • +
  • ~
属性
  • [attr]
  • [attr=val]
  • [attr*=val]
  • [attr~=val]
  • [attr^=val]
  • [attr$=val]
  • [attr|=val]
伪类
  • :link
  • :active
  • :hover
  • :visited
伪元素
  • :before
  • :after
  • :first-letter
  • :first-line
索引
  • :first-child
  • :last-child
  • :only-child
  • :nth-child(n)
  • :nth-last-child(n)
  • :first-of-type
  • :last-of-type
  • :only-of-type
  • :nth-of-type(n)
  • :nth-last-of-type(n)
表单
  • :focus
  • :enabled
  • :disabled
  • :checked
其他
  • :not()
  • :empty
  • :target
  • :selection
webkit
  • :-webkit-scrollbar
  • :-webkit-full-screen
  • :-webkit-touch-callout
  • -webkit-text-size-adjust
  • -webkit-input-placeholder
  • -webkit-overflow-scrolling
  • -webkit-tap-highlight-color
  • -webkit-filter
Never Use
  • :root
  • :lang()

排版(Typesetting)

1. color

设置文本颜色。

p {color: blue;
}
2. background

设置元素的背景颜色或图像。

div {background-color: lightgreen;
}
3. font

设置字体类型、大小、加粗等。

p {font-family: Arial, sans-serif;font-size: 16px;font-weight: bold;
}
4. line-height

设置行高,影响行间距。

p {line-height: 1.5;
}
5. text-decoration

设置文本装饰,如下划线、删除线等。

a {text-decoration: underline;
}
6. text-indent

设置文本缩进。

p {text-indent: 30px;
}
7. text-shadow

为文本添加阴影。

h1 {text-shadow: 2px 2px 5px gray;
}
8. opacity

设置元素的透明度。

div {opacity: 0.5;
}
9. visibility

控制元素的可见性,visiblehidden

div {visibility: hidden;
}
10. list-style

设置列表样式,如项目符号、数字列表等。

ul {list-style-type: square;
}
11. outline

设置元素的外边框,通常用于获得焦点时的效果。

button {outline: 2px solid blue;
}
12. box-shadow

为元素添加阴影。

div {box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.5);
}
13. border-radius

设置元素的圆角。

div {border-radius: 10px;
}
14. overflow

控制元素内容溢出时的行为。

div {overflow: auto;
}
15. overflow-x / overflow-y

分别控制水平方向和垂直方向的溢出行为。

div {overflow-x: scroll;overflow-y: hidden;
}
16. min-width / min-height

设置元素的最小宽度和最小高度。

div {min-width: 100px;min-height: 50px;
}
17. max-width / max-height

设置元素的最大宽度和最大高度。

div {max-width: 500px;max-height: 300px;
}
18. content

用于在伪元素中插入内容。

p::before {content: "Note: ";font-weight: bold;
}
19. vertical-align

设置元素在垂直方向上的对齐方式。

img {vertical-align: middle;
}
20. text-align

设置文本对齐方式。

h1 {text-align: center;
}
21. border-collapse: collapse

合并表格边框。

table {border-collapse: collapse;
}
22. border-spacing: none

设置表格单元格之间的间距。

table {border-spacing: 0;
}
23. white-space

控制空白符的显示方式。

pre {white-space: pre-wrap;
}
24. word-spacing

设置单词间距。

p {word-spacing: 5px;
}
25. word-break

设置单词断行规则。

p {word-break: break-all;
}
26. word-wrap

设置单词换行规则。

p {word-wrap: break-word;
}

媒体查询(Media Query)

1. @media

根据设备的屏幕大小、分辨率等应用不同的样式。

@media (max-width: 600px) {body {background-color: lightgray;}
}

动画(Animation)

1. animation

设置 CSS 动画。

@keyframes example {0% { background-color: red; }100% { background-color: yellow; }
}div {animation: example 3s infinite;
}

过渡(Transition)

1. transition

设置元素的状态变化过渡效果。

div {transition: background-color 1s ease;
}div:hover {background-color: lightblue;
}

2D / 3D 变换(Transform)

1. transform

设置元素的平移、旋转、缩放等变换。

div {transform: rotate(45deg);
}

其他(Other)

1. -webkit-user-select: none

禁止用户选择文本。

div {-webkit-user-select: none;
}
2. -webkit-input-placeholder: color

设置输入框占位符的颜色。

input::placeholder {color: gray;
}
3. -webkit-text-size-adjust: none

禁用文本缩放。

body {-webkit-text-size-adjust: none;
}
4. -webkit-touch-callout: none

禁用长按时显示的菜单。

div {-webkit-touch-callout: none;
}
5. -webkit-overflow-scrolling: touch

启用 iOS 中的滚动效果。

div {-webkit-overflow-scrolling: touch;
}
6. -webkit-tap-highlight-color: transparent

禁用点击时的高亮效果。

div {-webkit-tap-highlight-color: transparent;
}
7. ::-webkit-scrollbar

自定义滚动条样式。

::-webkit-scrollbar {width: 10px;
}
8. ::-webkit-full-screen

设置全屏样式。

::-webkit-full-screen {background-color: black;
}

CSS Flexbox(弹性盒布局)简介

Flexbox 是一种 CSS 布局模式,专为单行或多行布局的分布和对齐设计,特别适合创建自适应的响应式布局。它使元素可以灵活地调整在容器中的位置和比例。


基本概念

  • 容器(Container):使用 display: flex; 定义的元素,将子元素设为弹性布局。
  • 项目(Items):容器内的每一个直接子元素,被称为“弹性项目”。

Flex 容器属性

1. display
  • display: flex;:将元素定义为弹性容器,子元素按弹性布局排列。
  • display: inline-flex;:容器为弹性布局,同时保持行内元素性质。
.container {display: flex;
}
2. flex-direction

设置项目在主轴上的排列方向。

  • row(默认):项目从左到右排列。
  • row-reverse:项目从右到左排列。
  • column:项目从上到下排列。
  • column-reverse:项目从下到上排列。
.container {flex-direction: row;
}
3. justify-content

控制项目在主轴上的对齐方式。

  • flex-start(默认):项目靠左对齐。
  • flex-end:项目靠右对齐。
  • center:项目居中对齐。
  • space-between:项目平均分布,两端对齐。
  • space-around:项目平均分布,项目两侧有间隔。
.container {justify-content: center;
}
4. align-items

控制项目在交叉轴上的对齐方式。

  • stretch(默认):项目占满交叉轴的高度。
  • flex-start:项目在交叉轴的起点对齐。
  • flex-end:项目在交叉轴的终点对齐。
  • center:项目在交叉轴上居中对齐。
  • baseline:项目在文本基线对齐。
.container {align-items: center;
}
5. align-content

控制多行项目的对齐方式,仅在项目换行时有效。

  • flex-start:行靠交叉轴的起点对齐。
  • flex-end:行靠交叉轴的终点对齐。
  • center:行在交叉轴上居中。
  • space-between:行均匀分布,两端对齐。
  • space-around:行均匀分布,行之间留有间隔。
  • stretch(默认):行将拉伸以占满交叉轴。
.container {align-content: space-between;
}
6. flex-wrap

指定项目是否换行。

  • nowrap(默认):不换行。
  • wrap:自动换行。
  • wrap-reverse:反向换行。
.container {flex-wrap: wrap;
}

Flex 项目属性

1. flex-grow

定义项目的放大比例,默认为 0,即不放大。

.item {flex-grow: 1; /* 项目将分配剩余空间 */
}
2. flex-shrink

定义项目的缩小比例,默认为 1,即项目将缩小以适应容器。

.item {flex-shrink: 0; /* 项目不缩小 */
}
3. flex-basis

定义项目在主轴上的初始大小。

.item {flex-basis: 100px;
}
4. flex

简写属性,包含 flex-growflex-shrinkflex-basis

.item {flex: 1 0 100px; /* 等同于 flex-grow: 1; flex-shrink: 0; flex-basis: 100px; */
}
5. align-self

允许单个项目在交叉轴上有不同的对齐方式,覆盖 align-items 的设置。

  • auto(默认):继承容器的 align-items 属性。
  • flex-startflex-endcenterbaselinestretch:与 align-items 的值相同。
.item {align-self: flex-end;
}

示例代码

下面是一个完整的示例,展示了如何使用 flex 布局创建一个水平导航栏。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><style>.container {display: flex;flex-direction: row;justify-content: space-between;align-items: center;background-color: #333;padding: 10px;}.item {color: white;padding: 10px;flex: 1;text-align: center;}</style>
</head>
<body><div class="container"><div class="item">Home</div><div class="item">About</div><div class="item">Services</div><div class="item">Contact</div></div>
</body>
</html>

在这个例子中,四个 .item 元素按等宽分布在容器中,并居中对齐。


新特性(New)

1. will-change

提示浏览器元素将要发生变化,优化性能。

div {will-change: transform;
}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

95.【C语言】数据结构之双向链表的头插,头删,查找,中间插入,中间删除和销毁函数

目录 1.双向链表的头插 方法一 方法二 2.双向链表的头删 3.双向链表的销毁 4.双向链表的某个节点的数据查找 5.双向链表的中间插入 5.双向链表的中间删除 6.对比顺序表和链表 承接94.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删文章 1.双向链表的头插 方法…

24-11-9-读书笔记(三十二)-《契诃夫文集》(六)上([俄] 契诃夫 [译] 汝龙)药品是甜的,真理是美的,咖啡是苦的,生活是什么啊?

文章目录 《契诃夫文集》&#xff08;六&#xff09;上&#xff08;[俄] 契诃夫 [译] 汝龙&#xff09;药品是甜的&#xff0c;真理是美的&#xff0c;咖啡是苦的&#xff0c;生活是什么啊&#xff1f;目录阅读笔记1. 新年的苦难2. 香槟3. 乞丐4. 仇敌5.薇罗琪卡6.在家里7. 太早…

【从零开始鸿蒙开发:01】自定义闪屏页

文章目录 大体介绍文件介绍各部分代码SplashPage.etsIndex.etsHomePage.etsroute_map.jsonmodule.json5 流程 大体介绍 文件介绍 其中&#xff1a; pages为我们的页面内容&#xff08;我个人理解功能性小于activity但是大于fragment&#xff09;route_map.json 为自定义的路由…

【Spring】获取Cookie和Session(@CookieValue()和@SessionAttribute())

文章目录 获取 Cookie传统获取 Cookie简洁获取 Cookie&#xff08;注解&#xff09; 获取 SessionSession 存储和获取简洁获取 Session (1)简洁获取 Session (2) 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给…

【机器学习】任务十:从函数分析到机器学习应用与BP神经网络

目录 1.从函数分析到机器学习应用 1.1 3D曲面图可视化报告 1.1.1 目标 1.1.2 代码分析 1.1.3 结果分析 1.1.4 观察与总结 1.1.5 结论 1.2 一元函数梯度计算报告 1.2.1 目标 1.2.2 代码分析 1.2.4 计算结果 1.2.5 优势与意义 1.2.6 结论 1.3 一元函数梯度和二阶导…

ios打包文件上传App Store windows工具

在苹果开发者中心上架IOS APP的时候&#xff0c;在苹果开发者中心不能直接上传打包文件&#xff0c;需要下载mac的xcode这些工具进行上传&#xff0c;但这些工具无法安装在windows或linux电脑上。 这里&#xff0c;我们可以不用xcode这些工具来上传&#xff0c;可以用国内的香…

Rust @绑定(Rust@绑定)(在模式匹配的同时将值绑定到变量)

文章目录 Rust中的绑定基础概念示例&#xff1a;基本模式匹配 绑定的使用示例&#xff1a;范围匹配并绑定变量 深入探索绑定的好处示例&#xff1a;复杂数据结构中的应用 总结 附加 Rust中的绑定 Rust 语言以其强类型系统和内存安全的特性著称。在进行模式匹配时&#xff0c;R…

JVM知识点大全(未完...)

JVM运行时数据区域 堆 堆是Java虚拟机中用于存储对象的主要区域&#xff0c;包括字符串常量池。绝大多数对象都是在堆中创建的&#xff08;少部分对象可能会在栈上分配&#xff09;。为了更好地进行垃圾回收&#xff0c;堆被划分为年轻代和老年代两部分。年轻代又被进一步分为E…

Nginx(编译)+Lua脚本+Redis 实现自动封禁访问频率过高IP

1.安装lua 1.1安装LuaJIT yum install readline-devel mkdir -p lua-file cd lua-file/ wget https://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.0.5.tar.gz tar -zxvf LuaJIT-2.0.5.tar.gz cd LuaJIT-2.0.5 make && make install PREFIX/usr/local/luajit 1.2…

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测 目录 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预…

Java - SpringBoot之logback设置日期分割并设置指定时间自动清除,Linux启动运行

一、SpringBoot之logback-spring.xml配置 在Spring Boot中&#xff0c;要设置日志按照日期进行分割输出&#xff0c;并设置日志文件的大小自动清除&#xff0c;可以使用logback日志框架的配置 1、创建文件 在项目的resources目录下&#xff0c;创建logback-spring.xml文件 …

window11安装elasticsearch+Kibana

1、下载elasticsearch与elasticsearch 下载elasticsearch 查看elasticsearch对应的Kibana版本 下载elasticsearch解压后文件目录如下 可执行脚本文件,包括启动elasticsearch服务、插件管理、函数命令等 bin配置文件目录,如elasticsearch配置、角色配置、jvm配置等 conf 默认…

【HCIP园区网综合拓扑实验】配置步骤与详解(已施工完毕)

一、实验要求 实验拓扑图如上图所示 1、按照图示的VLAN及IP地址需求&#xff0c;完成相关配置 2、要求SW1为VLAN 2/3的主根及主网关 SW2为vlan 20/30的主根及主网关 SW1和SW2互为备份 3、可以使用super vlan&#xff08;本实验未使用&#xff09; 4、上层…

【基于PSINS工具箱】以速度为观测量的SINS/GNSS组合导航,UKF滤波

基于【PSINS工具箱】&#xff0c;提供一个MATLAB例程&#xff0c;仅以速度为观测量的SINS/GNSS组合导航&#xff08;滤波方式为UKF&#xff09; 文章目录 工具箱程序简述运行结果 代码程序讲解MATLAB 代码教程&#xff1a;使用UKF进行速度观测1. 引言与基本设置2. 初始设置3. U…

java访问华为网管软件iMaster NCE的北向接口时传递参数问题

上一篇文章介绍了利用《java访问华为网管软件iMaster NCE的北向接口》的一般性步骤&#xff0c;这里详细介绍其中一个读取性能数据的示例。原因是读取华为网管软件北向接口&#xff0c;完全找不到可供参考的例子。如果不需要传递什么参数&#xff0c;就能获取到结果&#xff0c…

基于SpringBoot的“在线考试系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“在线考试系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体结构图 系统登录界面图 用户注册界面图 管…

【2024软考架构案例题】你知道什么是 RESTful 风格吗?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

科大讯飞面经,蛮简单的

先来看面经&#xff1a; 下面我来简单聊聊这些问题。 自我介绍 关于如何自我介绍&#xff0c;这个如果还不会或者还没有准备&#xff0c;请先准备好你要如何向面试官介绍自己。 面试本来就是一个自我推销的方式之一&#xff0c;如果自我介绍都不会说&#xff0c;你如何卖个好价…

首次超越扩散模型和非自回归Transformer模型!字节开源RAR:自回归生成最新SOTA!

文章链接&#xff1a;https://arxiv.org/pdf/2411.00776 项目链接&#xff1a;https://yucornetto.github.io/projects/rar.html 代码&模型链接&#xff1a;https://github.com/bytedance/1d-tokenizer 亮点直击 RAR&#xff08;随机排列自回归训练策略&#xff09;&#x…

通义千问API调用测试 (colab-python,vue)

文章目录 代码&#xff08;来自官网&#xff09;colab中用python测试Qwen2.5在官网上查看并确定过期时间这里看到我的免费额度到25年5月在同一个页面&#xff0c;点击API示例 前端调用直接在前端调用的优缺点以vue为例&#xff08;代码是基于官网node.js的代码转换而来&#xf…