html - 过渡和伪元素的组合在 IE 中不起作用?

标签 html css internet-explorer

我正在尝试使用 transition: border-bottom .5s 在元素下显示/隐藏一行结合 ::first-letter伪元素。伪元素只是让第一个字符bold .它在 Chrome、Firefox 和 Opera 中运行良好,但 IE 什么也不做。

解决方法是使用简单的 html <b></b>而不是 css 解决方案 ::first-letter {font-weight: bold;} .然而,这不是我想要的。

这是一个jsfiddle .

最佳答案

我能想到的唯一其他解决方法是使用 :before:after border-bottom 的伪元素.这样做,它似乎在 IE 中工作。

在下面的示例中,:after伪元素绝对定位于父元素的顶部相对

Updated Example

a {
    display: inline-block;
    position: relative;
    cursor: pointer;
}
a:after {
    content: '';
    position: absolute;
    top: 100%;
    right: 0; left: 0;
    border-bottom: 2px solid transparent;
    transition: border-bottom .5s;
}
a:hover:after {
    border-bottom: 2px solid #777;
}
a:first-letter {
    font-weight: bold;
}
<a>my test link</a>

关于html - 过渡和伪元素的组合在 IE 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129365/

相关文章:

css - 好的旧重叠菜单,如何对 activeX 进行 z-index

javascript - 试图从数据库中提取的信息中获取可拖动的 div

html - 父项下的 CSS 子菜单

html - 边界位置 - 不起作用。

css - 滚动条在 IE/Edge 上与内容重叠

javascript - Internet Explorer 7 CSS Mega 菜单定位

html - 背景不是页面的 100%

jquery - 通过 jquery 更改 css

css - 为什么在这个多行网格项上忽略了网格间隙?

jquery - bootstrap 选项卡点击无响应