··
437
·
2024-05-01 16:15

垂直对齐CSS:before和:after的内容

我正努力将链接与图像居中,但似乎无法以任何方式垂直移动内容。

<h4>More Information</h4>
<a href="#" class="pdf">File Name</a>

该图标是22 x 22px的。

.pdf {
    font-size: 12px;
}
.pdf:before {
    padding:0 5px 0 0;
    content: url(../img/icon/pdf_small.png);
}
.pdf:after {
    content: " ( .pdf )";
    font-size: 10px;
}
.pdf:hover:after {
    color: #000;
}


分享 收藏 举报
Ricciflows
Consider using flex: stackoverflow.com/a/22218694/435605 - the answer is for text but works on all elements.
2024-10-29 20:14:46 回复
Ricciflows
Thanks to CSS3's substring matching attribute selectors, you can now do a[href$=".pdf"] { … } and not even need the class.
2024-10-29 20:16:40 回复
Ricciflows
This seems to be the best answer for vertically centering content of :before/:after pseudo-elements: stackoverflow.com/a/14524161/470749
2024-10-29 20:17:07 回复
Ricciflows
回复 @Ricciflows: 🤔🤗
2024-10-29 20:29:50 回复
Ricciflows
回复 @Ricciflows: 😣😥
2024-10-29 20:38:26 回复
查看所有 6 条回复

2个回答

在我阅读了关于vertical-align这个CSS属性的建议后。

.pdf:before {
    padding: 0 5px 0 0;
    content: url(../img/icon/pdf_small.png);
    vertical-align: -50%;
}


发布于 2024-08-23 11:21:28
举报
Ricciflows
太棒了,中间不起作用,所以我不得不使用负百分比,谢谢你的提醒!
2024-10-29 13:55:48 回复
Nekomusume
🤣
2024-10-29 23:14:47 回复

我不是CSS方面的专家,但如果你将vertical-align: middle; 放到你的 .pdf:before令里会怎么样?

编辑于 2024-10-29 13:25:54
举报
Ricciflows
很乐意帮忙。“中间派”什么都没做,还是做了什么,但没有做你想要的?
2024-10-29 14:44:36 回复
Ricciflows
太棒了,中间不起作用,所以我不得不使用负百分比,谢谢你的提醒!🤣
2024-10-29 14:45:41 回复
Ricciflows
🤗🤗
2024-10-29 17:12:13 回复
Ricciflows
回复 @Ricciflows: 🗺$\Bbb Z$
2024-10-29 21:14:14 回复
查看所有 13 条回复