CSS100Day(12)-hover出Tooltip技巧
682 字
3 分钟
CSS100Day(12)-hover出Tooltip技巧
设计简介
本次练习做个文字的hover显示Tooltip,解决老大难问题鼠标在移入缝隙时候消失动画触发:
-
关键点1:为了有过渡使用visibility和opacity属性来进行设置隐藏
-
关键点2:在tooltip元素中使用::before伪元素,设置宽度100%,然后bottom为负数刚好将缝隙覆盖,但不显示,这样就不会出现鼠标移入缝隙消失问题
效果展示
I know quite certainly that I myself have no special talent; curiosity, obsession [əbˈseʃ(ə)n] Obsession, a persistent disturbing preoccupation with an often unreasonable idea or feeling. and dogged endurance, combined with self-criticism have brought me to my ideas.
实现代码和步骤
HTML部分
HTML部分如下
<div class="frame"> <div class="quote"> <p> I know quite certainly that I myself have no special talent; curiosity, <span onclick="void(0);" class="tooltip" >obsession <span class="info"> <span class="pronounce">[əbˈseʃ(ə)n]</span> <span class="text" ><b>Obsession</b>, a persistent disturbing preoccupation with an often unreasonable idea or feeling. </span> </span> </span> and dogged endurance, combined with self-criticism have brought me to my ideas. </p> <p class="author">Albert Einstein</p> </div></div>CSS部分
注意2个关键点即可
.frame { position: absolute; width: 400px; height: 400px; border-radius: 2px; box-shadow: 1px 2px 10px 0px rgba(0, 0, 0, 0.3); background: #4cb6de; color: #fff;}
.quote { position: relative; margin-top: 90px; padding: 0 30px;
&::before { display: block; content: "„"; position: absolute; top: 0; left: 0; font-size: 250px; color: #6ac2e3; font-family: Arial; line-height: 35px; top: -100px; left: 7px; z-index: 0; }
p { position: relative; font-size: 24px; margin: 20px 0; z-index: 1; }
.author { font-weight: 300; font-style: italic; line-height: 28px; font-size: 20px; }}
.tooltip { position: relative; display: inline-block; background: #286f8a; padding: 0px 8px 5px 8px; cursor: pointer; margin: -10px 0;
.info { visibility: hidden; position: absolute; background: #286f8a; box-sizing: border-box; bottom: 53px; left: -85px; font-size: medium; cursor: auto; width: 300px; opacity: 0; line-height: 24px; transform: translateY(-20px); transition: all 0.5s ease-out;
&::before { position: absolute; content: ""; width: 100%; height: 15px; bottom: -15px; }
&::after { position: absolute; display: block; content: ""; width: 10px; height: 10px; background: #286f8a; bottom: -5px; rotate: 45deg; left: 50%; margin-left: -5px; }
.pronounce { display: block; background-color: #fff; color: #286f8a; padding: 8px 15px; }
.text { display: block; padding: 15px 15px; } }
&:hover .info, &:focus .info { display: block; visibility: visible; opacity: 1; transform: translateY(0); }}分享给其他人
如果该文章对您有帮助,欢迎分享给其他人阅读!
复制链接
相关文章
推荐筛选
1
CSS100Day(13)-图片hover上方出现蒙层和元素
设计灵感 图片hover常规出现蒙层和元素,点击后过渡呈现卡片内容
2
CSS100Day(18)-3D实现弹性元素
设计灵感 3D实现弹性元素
3
CSS100Day(17)-svg实现彭罗斯三角
设计灵感 三个svg实现彭罗斯三角
4
CSS100Day(14)-3D卡片翻转
设计灵感 一个3D卡片翻转原理理解
5
CSS100Day(10)-SVG旋转动画
设计灵感 巧妙应用SVG的
随机文章
随机推荐