使用css伪元素,模拟html中的title属性

在html中, title属性的作用是显示额外的信息,当鼠标移动到元素上时,这些提示信息就会显示出来。然后,title属性的缺点也很明显,一是原始样式太丑,一是鼠标移动到元素上之后,需要等待一段时间才会显示;因此,我们可以使用伪类来解决这两个问题。

实现步骤:

一、首先html布局

<div title="使用css伪类模拟title属性">title属性</div>
<div id="title" onmouseover="onMouseHover(event)" onmouseout="onMouseOut()" data-title="使用css伪类模拟title属性">title属性</div>

二、css样式

       使用 ::after 伪元素模拟title属性;

       content: attr(data-title)  :attr属性通常和自定义属性 data- 配合使用;

#title {
    position: relative;
}
#title:hover::before {
    content: "";
    position: absolute;
    bottom: -10px;
    z-index: 1100;
    width: 0;
    border-right: 10px solid transparent;
    border-top: 10px solid #0f0;
}
#title:hover::after {
    content: attr(data-title);
    position: absolute;
    bottom: -25px;
    z-index: 1000;
    text-align: center;
    width: max-content;
    background: #f00;
    color: #fff;
    padding: 0 6px;
    height: 25px;
    line-height: 25px;
    font-size: 12px;
}

三、JS 部分

       伪类模拟的title属性样子,想要和title本身保持一致(鼠标到哪儿,title浮窗出现在哪儿),那么left值就要和光标的X轴坐标保持一致。

<script>
    function onMouseHover(ev) {
        document.styleSheets[0].insertRule('#title::before { left: '+ ev.pageX +'px }', 0);
        document.styleSheets[0].insertRule('#title::after { left: '+ ev.pageX +'px }', 0);
    }

    function onMouseOut() {
        document.styleSheets[0].deleteRule(0);
        document.styleSheets[0].deleteRule(0);
    }
</script>

这里使用了 document.styleSheets(可以返回有网页中所用到的样式表组成的数组,但不包括直接嵌在元素里的style,可在控制台上打印查看具体内容) 来修改伪元素中的css属性值,因为这部分内容比较冷门,个人的理解并不是很深,所以在这里不做分析,大家自行百度吧!-_-||~ ~ ~ ~ ~

下图是添加和删除样式的具体项,IE和非IE 用到不同的函数:

 

以上是使用CSS伪元素,模拟title属性的过程, 那么结果长什么样子呢?? 现在就贴图上来,仅供参考。

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用CSS伪元素来绘制倒三角形,可以按照以下步骤进行操作: 1. 创建一个具有伪元素的元素。可以使用`::before`或`::after`伪元素来实现。 2. 使用`content: ''`属性来为伪元素创建内容。 3. 设置伪元素的位置属性,例如`position: absolute`,以便将其定位在正确的位置。 4. 使用`width: 0`和`height: 0`属性伪元素的宽度和高度设置为0,这样它将不会显示任何内容。 5. 使用边框属性设置三角形的样式,例如`border-top`、`border-left`和`border-right`。 6. 根据需要设置边框的颜色和大小。 以下是一个示例代码,演示如何使用CSS伪元素绘制倒三角形: ```css .element::before { content: ''; position: absolute; bottom: -12px; /* 根据需要调整位置 */ left: 50%; /* 根据需要调整位置 */ width: 0; height: 0; border-top: 12px solid #092c53; /* 设置三角形的颜色 */ border-left: 6px solid transparent; /* 可根据需要调整大小 */ border-right: 6px solid transparent; /* 可根据需要调整大小 */ } ``` 请注意,上述代码的`.element`是一个示例选择器,您可以根据实际情况将其替换为您要应用样式的元素的选择器。另外,您可以根据需要调整位置、大小和颜色的值来实现所需的倒三角形效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [css设置利用伪元素设置三角形](https://blog.csdn.net/weixin_52984349/article/details/125857702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [css伪元素模拟一个三角](https://blog.csdn.net/anny_mei/article/details/119944904)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值