css 实现 title的效果,并且自己写修改类似title样式

简介: css 实现 title的效果,并且自己写修改类似title样式

效果如下:


20200618113959499.png


代码如下:


/**
使用data-tip来实现title的效果
 */
// 通过属性选择器获取到标签,加上相对定位
[data-tip] {
  position: relative;
  display: inline-block;
}
// 统一设置伪类的样式
[data-tip]::before,
[data-tip]::after {
  position: absolute;
  visibility: visible;
  opacity: 0;
  z-index: 20200618;
  pointer-events: none;
  transition: .2s;
}
// 单独设置before, 设置小三角形
[data-tip]::before {
  content: '';
  // 通过border来设置三角形
  border: 5px solid transparent;
  // 通过这个来设置三角形的直角的方向
  border-top-color: rgba(0,0,0,.6);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 100%;
  left: 50%;
  margin-bottom: -5px;
}
// 设置字体和背景
[data-tip]::after {
  // 通过 attr来或者字体
  content: attr(data-tip);
  background: rgba(0,0,0,.7);
  font: 12px Microsoft YaHei;
  color: #fff;
  padding: 4px 8px;
  border-radius: 2px;
  box-shadow: 3px 3px 6px rgba(0, 0, 0, .3);
  bottom: 100%;
  width: 100%;
  white-space: pre-wrap;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: 5px;
}
// hover的时候显示
[data-tip]:hover::before,
[data-tip]:hover::after {
  visibility: visible;
  opacity: 1;
  -webkit-transition-delay: .15s;
  transition-delay: .15s;
}
// 当data-tip 没有内容的时候隐藏
[data-tip=""]::before,
[data-tip=""]::after {
  display: none !important;
}


使用方法: 使用data-tip=“xxxxxx”,也就是自定义属性来实现样式。 注意: 如果父级或者本身存在overflow:

hidden的情况下,该样式是不会生效的。原因如下: 因为overflower:hidden,会异常所有超出的部分。

而伪元素其实本身也是会当做元素来使用,所有伪元素在元素前面或者后面使用任何内容都会隐藏

如果要实现上图的效果,那就使用js的截取字符串的长度,并且拼接……来实现


相关文章
|
19天前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
7天前
|
前端开发 JavaScript UED
|
25天前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
123 1
|
1月前
|
编解码 前端开发 JavaScript
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
使用 CSS 打印样式为 Web 页面设置专业的打印机效果
45 2
|
13天前
|
前端开发
HTML 样式- CSS3
内部样式表适用于单个文件的特别样式,通过<head>部分的<style>标签定义;外部样式表适用于多个页面,通过<link>标签引用外部CSS文件;<style>定义样式,<link>引用资源;已弃用的标签有<font>、<center>、<strike>,属性有color和bgcolor。
|
13天前
HTML 样式- CSS2
HTML样式实例展示了如何使用`font-family`、`color`和`font-size`属性来定义字体样式,以及使用`text-align`属性来设置文本的对齐方式。示例包括标题和段落的样式设置。
|
13天前
|
前端开发
HTML 样式- CSS1
CSS (层叠样式表) 用于为 HTML 元素添加样式,包括颜色、文本、盒子模型等。CSS 可以通过内联样式、内部样式表或外部引用的方式添加到 HTML 中。推荐使用外部引用方式。本教程将介绍如何使用 CSS 为 HTML 添加样式,并提供实例演示。
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
80 1
|
1月前
|
前端开发 Ubuntu Linux
CSS 修改鼠标图标样式
CSS 修改鼠标图标样式
36 0
|
1月前
|
前端开发 容器
CSS实现旋转圆角叠加样式,你学会了吗?
CSS实现旋转圆角叠加样式,你学会了吗?
33 0