【H2O2|全栈】关于CSS(9)CSS3扩充了哪些新鲜的东西?(二)

news2024/11/18 1:35:17

目录

CSS3入门

前言

准备工作

伪元素补充

:before

:after 

文本溢出属性

转换效果

预告和回顾

后话


CSS3入门

前言

本系列博客主要介绍CSS相关的知识点。

这一期主要介绍以下几个CSS3的知识点:

  • 伪元素补充
  • 文本溢出属性
  • 转换 

没有基础的朋友,最好不要从这里开始看,否则有些地方可能会看不明白哦~

准备工作

软件:参考版本Visual Studio Code

插件(扩展包):Open in browser, Live Preview, Live Server

浏览器版本:Chrome

系统版本: Win10/11/其他非Windows版本

*我的电脑是Win10的版本,仅供参考*

伪元素补充

本期主要补充两个伪元素,:before:after

:before

用于在元素之前插入内容,相当于在原来的元素的前面添加了一个子元素。

伪元素的属性与元素基本相同,但是它有一个必须的属性:

:before {
    content:"需要插入的内容(文本)";
}

如果想插入一个图片或者链接,content属性还有url()这一属性值。

需要注意的是,在浏览器检查的时候,伪元素的检查结果往往就是:before等等,而不会像其他元素一样占用自己的位置。所以伪元素也可以看做一种显示的效果。

比如,对于如下的CSS代码:

.box {
		background: green;
}
.box:before {
		content: "在元素前面插入内容";
		display: block;
		width: 300px;
		height: 200px;
		background: skyblue;
}
.box:after {
		content: "\2694";
}

在浏览器中显示的效果如下:

但是在浏览器中检查,可以看到两个伪元素只有名称,不占位置:

:after 

:after与:before的用法完全相同,不再重复说了。

由于伪元素不占位置的特性,我们也可以使用它来清除浮动

比如,在导航栏中我们常常需要使用到左浮动的ul,我们当然可以使用设置了清除浮动的clear盒子,但是现在我们可以用伪元素统一设置清除:

ul:after{
	display: block;
	content: "";
	clear: both;
}

注意,ul最好换成需要使用浮动的具体的ul的类名或统一设置的某个类名,毕竟不是所有ul都在浮动嘛。

文本溢出属性

文本溢出属性用于设置当文本长度超出指定的区域范围时,超出的部分显示的样式。

具体而言,有下面几种属性值:

属性值作用特殊性
initial设置为默认值/
clip裁剪文本/
ellipsis显示省略号  代替被修剪的文本常用的文本处理方式
string使用特定的字符串代表被修剪的文本只针对火狐浏览器

特别的,我们来展开讲一下常用的ellipsis。

对于只需要显示一行的长文本,设置如下的CSS代码以实现末尾省略:

 .your-class{
 	white-space: nowrap;/* 文本不换行 */
 	overflow: hidden;/* 溢出隐藏 */
 	text-overflow: ellipsis;/* 文本溢出部分被省略号代替 */
 }

对于需要显示指定行数,然后再进行省略的文本,则需要要求浏览器支持webkit内核,我们使用的edge和Chrome浏览器都是支持该内核的。

 .your-class{
 	width: 140px;
 	height: 65px;
 	overflow: hidden;/* 溢出隐藏 */
 	display: -webkit-box;/* 兼容到使用webkit内核的浏览器 */
 	-webkit-line-clamp: 3;/* 显示的最大行数 */
 	-webkit-box-orient: vertical;/* 设置垂直方向上排列 */
 	text-overflow: ellipsis;/* 文本溢出部分被省略号代替 */
 }

对于溢出的单行省略、超出裁剪和多行省略,效果如下:

转换效果

转换transform,可以为元素提供 2D 或 3D 变换效果。具体而言,有下面几种变换方式:
旋转:
  rotate():定义2D的旋转  单位deg
  rotateX():沿X轴旋转
  rotateY():沿Y轴旋转
  rotateZ():沿Z轴旋转
  rotate3d(x,y,z,deg):定义3D的旋转 0/1,0/1,0/1,角度
缩放:
  scale() 定义2D的缩放
  scaleX() 沿着X轴的缩放
  scaleY() 沿着Y轴的缩放
  scaleZ() 沿着Z轴的缩放
  scale3d(x,y,z) 定义3D的缩放
移动:
  translate()  定义2D的移动
  translateX()  沿着X轴移动
  translateY()  沿着Y轴移动
  translateZ()  沿着Z轴移动
  translate3d()  定义3D的移动
倾斜/斜切
  skew():定义2D的倾斜
  skewX():沿着X轴倾斜
  skewY():沿着Y轴倾斜

此外,还可以用transform-origin属性改变转换元素的位置/轴,可以分别设置x,y,z三个轴上的转换起始位置。
  x:left right center px %
  y:top bottom center px %
  z:px

预告和回顾

对网页布局和制作感兴趣的朋友,可以看下面的CSS专栏,里面有很多讲解详尽的案例,当前为第九期:

专栏 | CSS入门icon-default.png?t=O83Ahttp://t.csdnimg.cn/4bvCJ当然,也欢迎对全栈项目感兴趣的朋友查看我的其他专栏。

后话

在全栈领域,博主也只不过是一个普通的萌新而已。本系列的博客主要是记录一下自己学习的一些经历,然后把自己领悟到的一些东西总结一下,分享给大家。

文章全篇的操作过程都是笔者亲自操作完成的,一些定义性的文字加入了笔者自己的很多理解在里面,所以仅供参考。如果有说的不对的地方,还请谅解。

==期待与你在下一期博客中再次相遇==

——已经缺氧的【H2O2】

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大堆对象是如何影响程序的性能的

在本文中,我们将详细了解 JVM 如何存储对象及其在内存中的表示形式。此外,我们将深入探讨性能影响以及如何利用它们来获得优势。 *此外,我们将了解如何使用-XX:UseCompressedOops以及它如何影响应用程序的性能。此外,我们将了解U…

[大语言模型-论文精读] 阿里巴巴-通过多阶段对比学习实现通用文本嵌入

[大语言模型-论文精读] 阿里巴巴达摩院-GTE-通过多阶段对比学习实现通用文本嵌入 1. 论文信息 这篇论文《Towards General Text Embeddings with Multi-stage Contrastive Learning》介绍了一种新的文本嵌入模型,名为GTE(General-purpose Text Embeddin…

低空经济时代:无人机飞行安全要点详解

随着低空经济的蓬勃发展,无人机(UAV)在农业、航拍、物流、应急救援等多个领域的应用日益广泛。然而,无人机的安全飞行不仅关乎任务的成功与否,更直接关系到地面人员、财产及空中交通的安全。本文将从飞行前检查、环境评…

大数据-153 Apache Druid 案例 从 Kafka 中加载数据并分析

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…

【Linux学习】【Ubuntu入门】1-2 新建虚拟机ubuntu环境

1.双击打开VMware软件,点击“创建新的虚拟机”,在弹出的中选择“自定义(高级)” 2.点击下一步,自动识别ubuntu光盘映像文件,也可以点击“浏览”手动选择,点击下一步 3.设置名称及密码后&#xf…

1Panel安装部署证书(httpsok.com)

1Panel安装部署证书(httpsok.com) 购买服务器 推荐购买香港服务器,这样通过域名访问就不需要备案。 创建静态站点 申请SSL证书 进入 httpsok.com,点击申请证书 输入站点域名 根据提示,添加DNS解析记录 添加成功后,提示域名验证…

如何在AI绘画SD中调节光照?这2个超好用的方法别错过!轻松生成AI人像光感大片!

大家好,我是画画的小强 在AI绘画Stable Diffusion 摄影艺术中,灯光的运用对于照片的质量和情感表达至关重要。它不仅能够彰显主题,还能为画面增添深度与立体感,帮助传递感情,以及凸显细节之美。 下面,我将…

YD-D3无线遥控声光报警器,微波探测预警安全设备

YD-D3无线遥控声光报警器‌是一种广泛应用于工厂车间、水泥厂、起重机、叉车、仓库、门吊、港口、车站等场所的安全报警设备。它通过大分贝喇叭播报语音提示以及高亮灯光示警,为现场人员安全保驾护航。该报警器采用集成电路设计,音质优美,抗干…

航顺芯片HK32MCU受邀出席汽车芯片国产化与技术创新闭门研讨会

[中国,北京,2024年9月21日]近日,深圳市航顺芯片技术研发有限公司(以下简称“航顺芯片”)产品总监郑增忠受邀出席由中国设备管理协会新能源汽车产业发展促进中心主办的“汽车芯片国产化与技术创新闭门研讨会”。 会上航…

基于单片机电容测量仪仿真设计

文章目录 前言资料获取设计介绍设计程序具体实现截图设计获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

Elasticsearch 8.16 和 JDK 23 中的语言环境变化

作者:来自 Elastic Simon Cooper 随着 JDK 23 即将发布,语言环境信息中有一些重大变化,这将影响 Elasticsearch 以及你提取和格式化日期时间数据的方式。首先,介绍一些背景知识。 什么是语言环境? 每次 Java 程序需要…

【Java】static-静态变量、静态方法、工具类、注意事项、args数组的使用

文章目录 一、静态变量特点调用方式 二、静态方法特点调用方式 三、类的类型1.Javabean类2.测试类3.工具类 四、注意事项从代码方面解释1. 上下文清晰2. 静态变量的访问例子注意 3. 静态方法中没有this关键字原因 4. 静态方法只能访问静态变量和静态方法错误原因解决方法 4.非静…

如何获取钉钉webhook

第一步打开钉钉并登录 第二步创建团队 并且 添加自定义 机器人 即可获取webhook

【流计算】流计算概论

前言 作者在之前写过一个大数据的专栏,包含GFS、BigTable、MapReduce、HDFS、Hadoop、LSM树、HBase、Spark,专栏地址: https://blog.csdn.net/joker_zjn/category_12631789.html?fromshareblogcolumn&sharetypeblogcolumn&sharerI…

待办事项应用SideQuests

赶在国庆长假前,自驾🚗出去玩了几天。 国庆前的错峰出游简直是太香了!一路上🛣️畅通无阻,停车🅿️不用抢,吃饭🍔不用等,景点🏞️不用排队,拍照&…

Flume实战--Flume中的拦截器详解与操作

在处理大规模数据流时,Apache Flume 是一款功能强大的数据聚合工具,它可以通过拦截器在运行时对Event进行修改或丢弃。本文将详细讲解Flume中的拦截器,包括时间戳拦截器、Host添加拦截器、静态拦截器以及如何自定义拦截器。 拦截器 拦截器的…

《HelloGitHub》第 102 期

兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。 github.com/521xueweihan/HelloGitHub 这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言 Python、…

LeetCode - #124 二叉树中的最大路径和(Top 100)

文章目录 前言1. 描述2. 示例3. 答案关于我们前言 本题为 LeetCode 前 100 高频题 我们社区陆续会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。)的 Swift 算法题题解整理为文字版以方便大家学习与阅读。 LeetCode 算法到目前我们已经更新到 123 期…

Electron 隐藏顶部菜单

隐藏前: 隐藏后: 具体设置代码: 在 main.js 中加入这行即可: // 导入模块 const { app, BrowserWindow ,Menu } require(electron) const path require(path)// 创建主窗口 const createWindow () > {const mainWindow ne…

Qemu开发ARM篇-6、emmc/SD卡AB分区镜像制作并通过uboot进行挂载启动

文章目录 1、AB分区镜像制作2、uboot修改3、镜像启动 在上一篇 Qemu开发ARM篇-5、buildroot制作根文件系统并挂载启动中,我们通过buildroot制作了根文件系统,并通过 SD卡的形式将其挂载到设备并成功进行了启动,但上一章中,我们的…