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的截取字符串的长度,并且拼接……来实现


相关文章
|
2天前
|
前端开发
css设置内嵌样式阴影
css设置内嵌样式阴影
7 0
|
2天前
|
前端开发
css样式实现一个滑动按钮
css样式实现一个滑动按钮
6 0
|
3天前
|
前端开发 UED
CSS 支持伪类和伪元素,可用于指定文档中不同状态的样式
CSS 提供关键帧和过渡动画两种方式创建动态效果。关键帧动画通过定义一系列样式的关键帧,浏览器自动插入过渡帧形成动画,如示例中背景颜色变化的循环。过渡动画则在属性改变时(如鼠标悬停)触发,展示平滑转换,如 div 元素尺寸变化。通过调整帧时间、顺序和样式,可实现更复杂的动画,增强网站交互体验。
23 4
|
10天前
|
编解码 前端开发 UED
【专栏:HTML 与 CSS 移动端开发篇】CSS 媒体查询与移动端特定样式
【4月更文挑战第30天】CSS媒体查询在移动端开发中至关重要,它基于设备特性(如屏幕尺寸、分辨率、方向)应用特定样式,实现响应式设计。通过`@media`规则定义条件,如`(max-width: 600px)`,当屏幕宽度小于或等于600px时应用相应样式。常见条件包括屏幕宽度、高度、方向和分辨率。媒体查询可用于响应式布局、导航菜单优化、图片加载及字体调整。在实践中,需注意保持查询简洁,充分测试,渐进增强,并提前规划。掌握媒体查询能提升移动端用户体验,创造更优秀的网页设计。
|
10天前
|
开发框架 前端开发 搜索推荐
标题:【专栏:CSS进阶篇】CSS样式重置与框架:快速构建统一风格的网页
【4月更文挑战第30天】本文探讨了CSS样式重置和框架在确保网页跨浏览器一致性中的作用。样式重置通过消除默认样式差异实现一致外观,而CSS框架如Bootstrap提供预设样式和组件,加速开发并保证页面一致性。框架还有响应式设计和易于维护的优点,但也可能限制自定义和增加性能开销。选择使用哪种工具应根据项目需求、团队技能和设计复杂度来决定。开发者可结合使用两者以平衡灵活性和控制。
|
10天前
|
前端开发 UED
【专栏:CSS 基础篇】CSS 字体与文本样式:美化你的网页内容
【4月更文挑战第30天】网页设计中,字体和文本样式至关重要,影响视觉效果和用户体验。CSS允许设计师设置字体家族、大小、颜色、加粗、倾斜、行高和对齐方式等。高级特性包括引入外部字体和使用字体变体。响应式设计适应不同设备,确保良好阅读体验。实际案例和最佳实践强调易读性和一致性。掌握这些技巧能提升网页美感和用户交互,创造更多可能。
|
10天前
|
前端开发 UED
【专栏:CSS 基础篇】CSS 入门:给网页添加样式
【4月更文挑战第30天】CSS是网页设计的关键,用于控制网页样式和布局。它通过选择器(如元素、类和ID)来设定颜色、字体、对齐、背景等属性。CSS可内嵌、外部引用或行内设置。布局技巧包括浮动、定位和弹性盒子。响应式设计利用媒体查询适应不同设备。不断实践和学习CSS,能提升网页的吸引力和用户体验。一起探索CSS的魅力吧!
|
10天前
|
前端开发 JavaScript 安全
【亮剑】探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式
【4月更文挑战第30天】本文探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式。文章分为三部分:首先解释了样式传递的必要性,包括模块化、主题化和动态样式以及TypeScript集成。接着介绍了内联样式的基本用法和最佳实践,展示了一个使用内联样式自定义按钮颜色的例子。最后,讨论了使用CSS模块和TypeScript接口处理复杂样式的方案,强调了它们在组织和重用样式方面的优势。结合TypeScript,确保了样式的正确性和可维护性,为开发者提供了灵活的样式管理策略。
|
11天前
|
前端开发
CSS样式引用方式的区别
CSS样式引用方式的区别
|
11天前
|
前端开发 容器
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解