将跨度与背景图像垂直居中

发布于 2024-12-08 05:36:52 字数 701 浏览 0 评论 0原文

我有一个无序列表的链接,每个链接都包含一些文本和一个 span 元素。

<li class="ui-state-default"><a href="#pg-control">Control<span class="ui-icon ui-icon-right_arrow"></span></a></li>

我希望图标相对于 li 垂直居中显示(与文本内联)

在此处输入图像描述

这是我的css

li {
    line-height: 240%;
    display: block;
    border-bottom: 1px solid #666;
    padding: 5px;
}

li a {
    text-decoration: none;
    color: #000;
    display: block;
}

.ui-icon {
    width: 24px;
    height: 24px;
    float: right;
    display: inline-block;
}

注意 我没有使用 jQuery,我确实意识到我的类名是相同的。这只是巧合。

I have a un-ordered list of links, each of which contains some text and a span element.

<li class="ui-state-default"><a href="#pg-control">Control<span class="ui-icon ui-icon-right_arrow"></span></a></li>

I would like the icon to appear vertically centered relative to the li (inline with the text)

enter image description here

Here is my css

li {
    line-height: 240%;
    display: block;
    border-bottom: 1px solid #666;
    padding: 5px;
}

li a {
    text-decoration: none;
    color: #000;
    display: block;
}

.ui-icon {
    width: 24px;
    height: 24px;
    float: right;
    display: inline-block;
}

Note I am not using jQuery, I do realize my class names are the same. That is merely coincidence.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

荒人说梦 2024-12-15 05:36:52

您可以将图标移动为 li 的背景,或者:

li 相对定位,然后给图标绝对定位。将图标放置在距顶部 50% 的位置,然后减去图标高度的上半部分的边距。这将使图标垂直居中。

li {
    position: relative;
    line-height: 240%;
    display: block;
    border-bottom: 1px solid #666;
    padding: 5px;
}

li a {
    text-decoration: none;
    color: #000;
    display: block;
}


.ui-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -12px
    width: 24px;
    height: 24px;
    display: inline-block;
}

You could move the icon to be a background of the li, or:

Give the li relative positioning then give the icon absolute positioning. Position the icon 50% from the top, and then minus margin the top half of the icon's height. This will vertically center the icon.

li {
    position: relative;
    line-height: 240%;
    display: block;
    border-bottom: 1px solid #666;
    padding: 5px;
}

li a {
    text-decoration: none;
    color: #000;
    display: block;
}


.ui-icon {
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -12px
    width: 24px;
    height: 24px;
    display: inline-block;
}
℡寂寞咖啡 2024-12-15 05:36:52

如果是我,我会将箭头设置为libackground-image,例如:

li{
  background:transparent url(the_arrow.jpg) no-repeat center right;
}

我编写了一个示例...

If it was me i'd make the arrow the background-image of the li something like:

li{
  background:transparent url(the_arrow.jpg) no-repeat center right;
}

I've coded an example...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文