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

news/2024/10/3 22:21:41/

目录

CSS3入门

前言

准备工作

伪元素补充

:before

:after 

文本溢出属性

转换效果

预告和回顾

后话


CSS3入门

前言

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

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

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

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

准备工作

软件:参考版本Visual Studio Code

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

浏览器版本:Chrome

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

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

伪元素补充

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

:before

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

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

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

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

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

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

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

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

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

:after 

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

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

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

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

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

文本溢出属性

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

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

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

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

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

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

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

css"> .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.ppmy.cn/news/1534118.html

相关文章

Linux相关概念和重要知识点(11)(进程调度、Linux内核链表)

1.Linux调度算法 上篇文章我粗略讲过queue[140]的结构,根据哈希表,我们可以将40个不同优先级的进程借助哈希桶链入queue[140]中。调度器会根据queue的下标来进行调度。但这个具体的调度过程是怎样的呢?以及runqueue和queue[140]的关系是什么…

【PHP陪玩系统源码】游戏陪玩系统app,陪玩小程序优势

陪玩系统开发运营级别陪玩成品搭建 支持二开源码交付,游戏开黑陪玩系统: 多客陪玩系统,游戏开黑陪玩,线下搭子,开黑陪玩系统 前端uniapp后端php,数据库MySQL 1、长时间的陪玩APP源码开发经验,始终坚持从客户…

质数的数量

给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 示例 1: 输入:n 10 输出:4 解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2: 输入:n 0 输出:0示例 3&#…

[深度学习]基于YOLO高质量项目源码+模型+GUI界面汇总

以下项目全部是本人亲自编写代码,项目汇总如下: 序号项目名称下载地址1基于yolov8的辣椒缺陷检测系统python源码onnx模型评估指标曲线精美GUI界面.zip点我下载2基于yolov8的海上红外目标系统python源码onnx模型评估指标曲线精美GUI界面.zip点我下载3基于…

GPT带我学-设计模式16-原型模式

概述 原型模式是一种创建型设计模式,它允许通过复制现有对象来创建新对象,而不是通过类的构造函数。这个模式特别适用于对象创建开销较大或者对象需要频繁被创建和销毁的场景。 主要组成部分: 原型接口:声明一个克隆自身的方法。…

C++(学习)2024.9.25

目录 继承 概念 构造函数 1.派生类与基类构造函数的关系 2.解决方案 (1)补充基类的无参构造函数 (2)手动在派生类中调用基类构造函数 1.透传构造 2.委托构造 3.继承构造 3.对象的创建与销毁流程 4.多重继承 (1)概念 …

Flask-2

文章目录 请求全局钩子[hook]异常抛出和捕获异常abort 主动抛出HTTP异常errorhandler 捕获错误 context请求上下文(request context)应用上下文(application context)current_appg变量 两者区别: 终端脚本命令flask1.0的终端命令使用自定义终端命令 flask2.0的终端命…

python-斐波那契词序列/最大回文乘积/求最大最小k个元素

一:斐波那契词序列题目描述 编写一个程序,生成斐波那契词序列的前n个元素。 斐波那契词序列是一个词序列,其中每个词是通过连接前两个词形成的。 它以斐波那契序列命名,因为它是以类似的方式创建的,但是我们不是加数字&#xff0c…