为了账号安全,请及时绑定邮箱和手机立即绑定

将工具提示添加到div

将工具提示添加到div

慕哥6287543 2019-10-23 14:43:48
我有这样的div标签:<div>  <label>Name</label>  <input type="text"/></div>如何:hover在div 上显示工具提示,最好具有淡入/淡出效果。
查看完整描述

3 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

这是可以做到与CSS只,没有JavaScript的根本:运行演示


应用自定义HTML属性,例如。tooltip="bla bla"到您的对象(div或其他):


<div tooltip="bla bla">

    something here

</div>

将:before每个[tooltip]对象的伪元素定义为透明,绝对定位并以tooltip=""值作为内容:


[tooltip]:before {            

    position : absolute;

     content : attr(tooltip);

     opacity : 0;

}

定义:hover:before每一个的悬停状态[tooltip]以使其可见:


[tooltip]:hover:before {        

    opacity : 1;

}

将样式(颜色,大小,位置等)应用于工具提示对象;故事结局。


在演示中,我定义了另一条规则,以指定当工具提示悬停在工具提示上时,是否必须消失,但在父提示之外,具有另一个自定义属性tooltip-persistent和一个简单的规则:


[tooltip]:not([tooltip-persistent]):before {

    pointer-events: none;

}

注意1:为此,浏览器的覆盖范围非常广泛,但请考虑对旧IE使用javascript后备(如果需要)。


注意2:增强功能可能是添加一些JavaScript,以通过更改应用于鼠标的类来计算鼠标位置并将其添加到伪元素中。


查看完整回答
反对 回复 2019-10-23
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您根本不需要JavaScript。只需设置title属性:


<div title="Hello, World!">

  <label>Name</label>

  <input type="text"/>

</div>

请注意,工具提示的视觉呈现方式取决于浏览器/操作系统,因此它可能会淡入,而可能不会淡入。但是,这是进行工具提示的语义方式,并且可以与屏幕阅读器等辅助功能软件一起正常工作。


堆栈片段中的演示

<div title="Hello, World!">

  <label>Name</label>

  <input type="text"/>

</div>


查看完整回答
反对 回复 2019-10-23
  • 3 回答
  • 0 关注
  • 360 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信