垂直对齐 - 列出“list-style-image”

时间:2012-11-19 12:50:06

标签: html css image list vertical-alignment

谷歌搜索和SO浏览都没有帮助我 - 希望有人能解决这个问题:

我有以下html:

<ul>
<li>ABC 1</li>
<li>ABC 2</li>
<li>ABC 3</li>
<li>ABC 4</li>
</ul>

和css

ul {list-style-image:url(../img/hook.png);}
li {vertical-align:middle;color:#FFFFFF;font-size:16px;text-shadow: 0em 0.13em 0.13em #2A2A2A;font-family:Helvetica,Arial,Sans-Serif;font-weight:normal;}

&#34; hook.png&#34;图像是32x35像素 - 但每当我创建列表项时,文本(例如ABC ...)将始终显示在图像下方。试过线高和100%的东西 - 但都没有成功。

任何快速帮助:/?

4 个答案:

答案 0 :(得分:8)

尝试一些

的变体
ul{
    background-image: url(../img/hook.png);
    background-repeat: no-repeat;
    background-position: 95% 50%;
}

显然,这个职位不太适合你的需要,但摆弄这种方法将是你最好的选择。

答案 1 :(得分:1)

<html>
<head>
<style>
ul
{
    list-style-image:none;
}
li
{
    color:#FFFFFF;
    font-size:16px;
    text-shadow: 0em 0.13em 0.13em #2A2A2A;
    font-family:Helvetica,Arial,Sans-Serif;
    font-weight:normal;
    line-height:35px;

    margin-bottom:5px;
    padding-left: 36px;
    background-image: url('../img/hook.png');
    background-repeat:no-repeat;
}
</style>
</head>
<body>
<ul>
<li>ABC 1</li>
<li>ABC 2</li>
<li>ABC 3</li>
<li>ABC 4</li>
</ul>
</body>
</html>

从未见过我们的任何设计师在为列表实现自定义图标时尝试使用list-style-image,我想这就是原因:)

答案 2 :(得分:0)

如果我理解你的问题,文字似乎低于基线?

尝试为您的文字设置以下属性:

padding-bottom

答案 3 :(得分:0)

我想出了类似的东西,这可能会节省你一些时间 HTML:

<ul class="rozcestnik">
  <li><a href="#" title="1">1</a></li>
  <li><a href="#" title="2">2</a></li>
  <li><a href="#" title="3">3</a></li>
</ul>

CSS:

.rozcestnik {
    list-style-type: none;
    padding: 0;
    margin: 2.5em 2em 0;
}

.rozcestnik li:before {
    background: url("icon.png") no-repeat scroll 50% 50% transparent;
    content: " ";
    display: block;
    height: 20px;
    left: -20px;
    position: absolute;
    top: 0;
    width: 20px;
}
.rozcestnik li {
    position: relative;
    padding-bottom: 5px;
    padding-left: 5px;
}

根据自定义列表图像,您可能只需要自定义顶部和尺寸“:before”和填充“li”。

适用于所有主流浏览器和IE8等应用程序。