当前位置: 首页 > article >正文

深入了解 CSS 常用的样式

在网页开发中,CSS(层叠样式表)起着至关重要的作用,它可以让我们的网页变得更加美观和易于阅读。除了一些特定场景下的 CSS 样式,还有许多其他常用的 CSS 样式,下面就让我们一起来详细了解一下。

一、文本相关样式

1. 字体样式

  • font-style:用于设置字体的风格。例如,将文本设置为斜体可以使用 font-style: italic;,若要恢复正常风格则使用 font-style: normal;
p {font-style: italic;
}

  • text-decoration:主要用于添加或去除文本的装饰效果。常见的有下划线(underline)、删除线(line-through)和无装饰(none)。比如,给链接添加下划线:
a {text-decoration: underline;
}

  • text-transform:可以改变文本的大小写形式。uppercase 可将文本转换为大写,lowercase 转换为小写,capitalize 则会将每个单词的首字母大写。
h1 {text-transform: uppercase;
}

2. 文本对齐与间距

  • text-align:控制文本的水平对齐方式。left 表示左对齐,right 表示右对齐,center 是居中对齐,justify 用于两端对齐。
div {text-align: center;
}

  • line-height:用于设置行高,它会影响文本行与行之间的间距。一般可以使用具体的数值或者倍数来表示。
p {line-height: 1.5;
}

  • letter-spacing:可以调整字符之间的间距,正值会使字符间距增大,负值则会缩小间距。
h2 {letter-spacing: 2px;
}

  • word-spacing:专门用于调整单词之间的间距。
p {word-spacing: 5px;
}

二、盒子模型相关样式

1. 边框样式

  • border-width:用于设置边框的宽度,可以使用具体的像素值或者其他长度单位。
div {border-width: 2px;
}

  • border-style:定义边框的样式,常见的有实线(solid)、虚线(dashed)、点线(dotted)等。
div {border-style: dashed;
}

  • border-color:指定边框的颜色,可以使用颜色名称、十六进制值或者 RGB 值等。
div {border-color: red;
}

2. 外边距合并

在垂直方向上,相邻元素的外边距会发生合并。例如:

div {margin-top: 20px;margin-bottom: 30px;
}

当两个这样的 div 元素上下排列时,它们之间的间距并不是 20px + 30px = 50px,而是取两者中较大的值。有时候需要注意这种特性,通过一些技巧来避免或利用它。

三、布局相关样式

1. 浮动与清除浮动

  • float:可以使元素向左(left)或向右(right)浮动,常用于实现多列布局。
img {float: left;margin-right: 10px;
}

  • clear:用于清除浮动,防止浮动元素对后续元素布局产生影响。取值可以是 leftright 或 both
.clearfix::after {content: "";display: table;clear: both;
}

2. 定位

  • position:有 static(默认值)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和 sticky(粘性定位)几种取值,用于控制元素在文档中的定位方式。
/* 相对定位 */
div {position: relative;top: 10px;left: 20px;
}

  • toprightbottomleft:配合 position 属性使用,确定元素相对于其定位参考点的偏移位置。

3. 弹性布局(Flexbox)

  • display: flex:将容器设置为弹性容器,其内部的子元素可以方便地进行排列和对齐。
.container {display: flex;
}

  • flex-direction:定义弹性容器内子元素的排列方向,如水平(row)、垂直(column)等。
.container {flex-direction: column;
}

  • justify-content:控制子元素在主轴上的对齐方式,如居中(center)、两端对齐(space-between)等。
.container {justify-content: space-around;
}

  • align-items:控制子元素在交叉轴上的对齐方式,如居中(center)、顶部对齐(flex-start)等。
.container {align-items: center;
}

4. 网格布局(Grid)

  • display: grid:将容器设置为网格容器。
.grid-container {display: grid;
}

  • grid-template-columns 和 grid-template-rows:定义网格的列和行的大小。
.grid-container {grid-template-columns: 1fr 2fr;grid-template-rows: repeat(2, 100px);
}

  • grid-gap:设置网格单元格之间的间距。
.grid-container {grid-gap: 10px;
}

四、响应式设计相关样式

1. 媒体查询

  • @media:根据不同的媒体类型(如屏幕、打印等)和设备特性(如屏幕宽度、高度、方向等)应用不同的样式。例如,当屏幕宽度小于等于 600px 时,改变文本的字体大小:
@media (max-width: 600px) {body {font-size: 14px;}
}

2. 视口单位

  • vw(视口宽度的百分比)和 vh(视口高度的百分比):用于创建响应式布局,使元素的大小根据视口的大小自动调整。
div {width: 50vw;height: 30vh;
}

五、动画与过渡相关样式

1. 动画

  • @keyframes:定义动画的关键帧,通过不同的关键帧设置元素在动画过程中的样式。
@keyframes myAnimation {0% {opacity: 0;}100% {opacity: 1;}
}

  • animation-name:指定要应用的动画名称。
div {animation-name: myAnimation;
}

  • animation-duration:设置动画的持续时间。
div {animation-duration: 2s;
}

  • animation-timing-function:定义动画的缓动函数,如 easelinear 等。
div {animation-timing-function: ease-in-out;
}

  • animation-iteration-count:设置动画的播放次数,可以是具体的数字或 infinite(无限循环)。
div {animation-iteration-count: infinite;
}

2. 过渡

  • transition-property:指定要应用过渡效果的 CSS 属性。
div {transition-property: background-color;
}

  • transition-duration:设置过渡的持续时间。
div {transition-duration: 0.5s;
}

  • transition-timing-function:定义过渡的缓动函数。
div {transition-timing-function: ease;
}

  • transition-delay:设置过渡效果的延迟时间。
div {transition-delay: 0.2s;
}

六、其他样式

1. 光标样式

  • cursor:可以改变鼠标指针在元素上的样式,如指针(pointer)、文本输入(text)等。
button {cursor: pointer;
}

2. 透明度

  • opacity:用于设置元素的不透明度,取值范围是 0(完全透明)到 1(完全不透明)。
div {opacity: 0.5;
}

3. 用户选择

  • user-select:控制用户是否可以选择文本,取值可以是 none(不可选择)、text(可选择)等。
div {user-select: none;
}

以上就是一些除了你提到的样式之外的常用 CSS 样式,掌握这些样式可以让我们在网页开发中更加得心应手,创造出更加丰富多样的页面效果。

相关文章:

深入了解 CSS 常用的样式

在网页开发中,CSS(层叠样式表)起着至关重要的作用,它可以让我们的网页变得更加美观和易于阅读。除了一些特定场景下的 CSS 样式,还有许多其他常用的 CSS 样式,下面就让我们一起来详细了解一下。 一、文本相…...

Web安全|渗透测试|网络安全

基础入门(P1-P5) p1概念名词 1.1域名 什么是域名? 域名:是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置)。 什么是二级域名多级域名&am…...

OpenHarmony 系统性能优化——默认关闭全局动画

笔者最近发现,关闭OpenHarmony全局动画,系统UI的响应速度会极大的提升 1.全局动画的开关由系统属性persist.sys.arkui.animationscale来控制,默认为1。也就是 动画缩放 1x 2.如果让persist.sys.arkui.animationscale默认为0,也就是关闭的状态…...

C 程序多线程拆分文件

C 程序多线程拆分文件 在C语言中,实现多线程来拆分文件通常需要借助多线程库,比如 POSIX 线程库(pthread)或者 Windows 的线程库(CreateThread 或类似的函数)。下面我将分别展示在 Linux 和 Windows 环境下…...

【Linux】Ubuntu Linux 系统——Python集成开发环境

ℹ️大家好,我是练小杰,今天周四了,明天就周五了,再坚持坚持又能休息了!!😆 本文是有关Linux 操作系统中Python集成开发环境基础知识,后续将添加更多相关知识噢,谢谢各位…...

数据库加密全解析:从传输到存储的安全实践

title: 数据库加密全解析:从传输到存储的安全实践 date: 2025/2/17 updated: 2025/2/17 author: cmdragon excerpt: 数据加密是数据库安全的最后一道物理防线。传输层SSL/TLS配置、存储加密技术及加密函数实战应用,覆盖MySQL、PostgreSQL、Oracle等主流数据库的20+生产级加密…...

【Prometheus】prometheus结合domain_exporter实现域名监控

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…...

计算机专业知识【软件开发中的常用图表:E - R图、HIPO、DFD、N - S、PAD详解】

在软件开发过程中,有许多种图表工具被用于不同阶段的设计和分析,帮助开发者更清晰地理解系统结构、数据流程和算法逻辑。下面将详细介绍E - R图、HIPO图、DFD图、N - S图和PAD图,包括它们的样子和用途。 一、E - R图(实体 - 联系…...

机器学习_13 决策树知识总结

决策树是一种直观且强大的机器学习算法,广泛应用于分类和回归任务。它通过树状结构的决策规则来建模数据,易于理解和解释。今天,我们就来深入探讨决策树的原理、实现和应用。 一、决策树的基本概念 1.1 决策树的工作原理 决策树是一种基于…...

Linux 命令行编辑快捷键

初学者在Linux命令窗口(终端)敲命令时,肯定觉得通过输入一串一串的字符的方式来控制计算是效率很低。 但是Linux命令解释器(Shell)是有很多快捷键的,熟练掌握可以极大的提高操作效率。 下面列出最常用的快捷…...

智能马达保护器:为工业电机安全运行保驾护航

在工业生产中,电动机作为核心动力设备,其稳定运行直接关系到生产效率与安全性。然而,复杂的工况环境、频繁启停和突发负载变化,常导致电机面临过载、缺相、短路等故障风险。安科瑞智能马达保护器凭借其智能化、高精度、多功能的设…...

-bash:/usr/bin/rm: Argument list too long 解决办法

问题概述 小文件日志太多导致无法使用rm命令,因为命令行参数列表的长度超过了系统允许的最大值。 需要删除/tmp目录下的所有文件,文件数量比较多。 ls -lt /tmp | wc -l 5682452 解决方法如下: 使用find -exec 遍历,然后执行删…...

深度集成DeepSeek大模型:WebSocket流式聊天实现

目录 5分钟快速接入DeepSeek大模型:WebSocket实时聊天指南创建应用开发后端代码 (Python/Node.js)结语 5分钟快速接入DeepSeek大模型:WebSocket实时聊天指南 创建应用 访问DeepSeek官网 前往 DeepSeek官网。如果还没有账号,需要先注册一个。…...

Python函数的函数名250217

函数名其实就是一个变量,这个变量就是代指函数而已函数也可以被哈希,所以函数名也可以当作集合中的元素,也可作为字典的key值 # 将函数作为字典中的值,可以避免写大量的if...else语句 def fun1():return 123 def fun2():return 4…...

QT基础二、信号和槽

一、什么是信号和槽? 1、简述 在Qt框架中,信号和槽(Signals and Slots) 是一种用于对象间通信的机制。它是一种非常强大且灵活的设计模式,广泛应用于事件驱动编程中。信号和槽机制允许对象之间以松耦合的方式进行交互…...

MongoDB between ... and ... 操作

个人博客地址:​​​​​​​MongoDB between ... and ... 操作 | 一张假钞的真实世界 MongoDB中类似SQL的between and操作可以采用如下语法: db.collection.find( { field: { $gt: value1, $lt: value2 } } );...

C++虚函数:解锁多态的“动态密码

C虚函数:解锁多态的“动态密码” 开篇小故事:遥控器的“智能按钮” 假设你有一个万能遥控器,上面只有一个“开关”按钮: 按下时,电视会开机,空调会制冷,电灯会亮起。同一个按钮,却…...

【深度学习】计算机视觉(CV)-目标检测-Faster R-CNN —— 高精度目标检测算法

1.什么是 Faster R-CNN? Faster R-CNN(Region-based Convolutional Neural Network) 是 目标检测(Object Detection) 领域的一种 双阶段(Two-Stage) 深度学习方法,由 Ross Girshick…...

Blazor-父子组件传递任意参数

在我们从父组件传参数给子组件时,可以通过子组件定义的[Parameter]特性的公开属性进行传值,但是当我们需要传递多个值的时候,就需要通过[Parameter]特性定义多个属性,有没有更简便的方式? 我们可以使用定义 IDictionar…...

【原创】vue-element-admin-plus完成编辑页面中嵌套列表功能

前言 vue-element-admin-plus对于复杂业务的支持程度确实不怎么样,我这里就遇到了编辑页面中还要嵌套列表的真实案例,比如字典,主字典嵌套子信息,类似于一个树状结构。目前vue-element-admin-plus给出的例子是无法满足这个需求的…...

【深度学习】计算机视觉(CV)-目标检测-DETR(DEtection TRansformer)—— 基于 Transformer 的端到端目标检测

1.什么是 DETR? DETR(DEtection TRansformer) 是 Facebook AI(FAIR)于 2020 年提出的 端到端目标检测算法,它基于 Transformer 架构,消除了 Faster R-CNN、YOLO 等方法中的 候选框(…...

DeepSeek教unity------MessagePack-02

内置支持类型: 对象序列化 MessagePack for C# 可以序列化你自己定义的公共类或结构体类型。默认情况下,可序列化的类型必须用 [MessagePackObject] 属性进行注解,成员需要用 [Key] 属性进行注解。键可以是索引(整数)…...

【达梦数据库】disql工具参数绑定

前言 在达梦数据库的使用过程中尽管管理工具很好用,但是命令行工具还是有着得天独厚的优势,但是在参数绑定方面就没有管理工具做的更加完美,现在就汇总下disql 工具参数绑定的常用几种方式 disql 参数绑定 使用 ? select * from v$dm_in…...

H5应用抓包及调试技巧

由于图片和格式解析问题,可前往 阅读原文 在现代移动互联网时代,H5 应用以其跨平台、轻量化、快速迭代的特性,成为移动开发的重要一环。然而,随着功能的复杂化和用户体验要求的提升,H5应用的调试也面临着诸多挑战&…...

Django后台新建管理员

在 Django 中,新建管理员用户通常涉及使用 Django 自带的命令行工具 manage.py。以下是具体步骤: 前提条件 Django 项目已创建:确保你已经创建了一个 Django 项目和应用。数据库已迁移:确保你已经运行了 python manage.py migra…...

输入网址到网页显示,发生了什么?

从今天起,我准备在网上输出自己的八股了 浏览器解析URL: 根据URL解析 请求协议(http),请求的服务器(www.baidu.com),请求的文件路径(可以省略),解…...

Coredump-N:sprintf写越界

最近遇到一个sanitizer检查出来的问题; unsigned long abc = 0xffffffffffffffff; char link[8] = {0}; sprintf(link, "%u", abc);这段代码存在潜在问题。 数据类型不匹配: abc 是一个 unsigned long 类型...

自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口)

自学Java-面向对象高级(final、单例类、枚举类、抽象类、接口) 一、final关键字1、认识final关键字2、final修饰变量的注意3、常量 二、单例类(设计模式)1、设计模式的概念2、单例设计模式3、单例类有很多形式4、懒汉式单例类5、小…...

[LeetCode力扣hot100]-二叉树相关手撕题

简单 94.中序遍历 就说左子树-根-右子树顺序,之前也有二叉树相关的文章,基本上递归为主,这里用栈等方式实现下。 用到:栈 注意上面给出节点的基本结构,如左右,val指等 /*** Definition for a binary t…...

docker下部署kong+consul+konga 报错问题处理

前言: 由于在docker下部署一些项目比较特殊,特别是网络这一块,如果没有搞清楚,是很容易出问题的。 先上docker-compose 编排 这里的docker-compose for kong可以在 kong-compose 获取代码 version: 3.9x-kong-config:&kong…...