css - 如何在 CSS 中垂直居中伪元素图像?

标签 css vertical-alignment

我在那里发现了几个类似的问题,但没有一个答案有效。这是我的问题:

我正在尝试在像这样的某些内容之前和之后插入装饰性括号图像并将其居中:

因为我有两张图片,所以我无法使用背景属性(在 CSS2 中)插入它们。所以我像这样使用 :before 和 :after 标签:

p#special:before { 
    content: " "url(/images/left-bracket.png);
}
p#special:after { 
    content: " "url(/images/right-bracket.png);
}

不幸的是,这最终会像这样将图像与文本的基线对齐:

我尝试将“vertical-align: middle”和“vertical-align: -50%”应用于伪元素,但没有成功。它们会轻微移动,但不会如上所示移动到中间。

我也试过对段落本身应用垂直对齐,但没有成功。

我尝试结合各种垂直对齐值将段落的高度调整为图像的高度。

我还尝试调整段落本身和伪元素的行高。这也没有用。

我可以使用“position: relative; top: XXpx;”之类的东西将括号准确地定位在我想要的位置。在伪元素上,但如果我有多于一行文本,或者在某些情况下字体大小不同,括号将不再居中。我希望图像始终与文本中间垂直对齐。有什么想法吗?

最佳答案

试试这个:

p#special{
    position: relative;
}
p#special:before { 
    content: " "url(/images/left-bracket.png);
    position: absolute;
    top: 50%;
    left: 0px;
}
p#special:after { 
    content: " "url(/images/right-bracket.png);
    position: absolute;
    top: 50%;
    right: 0px;
}

关于css - 如何在 CSS 中垂直居中伪元素图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566887/

相关文章:

jquery - 单击图像时无法加载 div 中的隐藏内容

html - 显示 : table: increasing height of a table cell causes padding in other cells

javascript - 无法使功能自动刷新

css - 阻止移动菜单在滚动时消失 - WordPress

python - .css 不会影响我在 django 中的模板

css - 无法将文本垂直对齐到窗口/视口(viewport)的中间

css - 垂直 DIV 对齐

html - 是否可以底部对齐图像并顶部对齐图像下方的标题?

html - Css 网格 : horizontal two colums, 但垂直翻转

javascript - 使用 Z-index 在子分层 Div 上触发 Onclick,指针事件不起作用