HTML CSS ul 和 li 在 div

HTML CSS ul and li in a div

我有以下 HTML 代码:

<div class="playerInfo">
    <ul>
        <li id="playerTeam">
            team
        </li>

        <li id="player">
            player
        </li>
    </ul>
</div>

我有以下 CSS 相同的样式:

.playerInfo{
    width: 60%;
    height: 30%;
    margin: auto;
    background-color: #888;
}

.playerInfo ul{
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.playerInfo li{
    display: inline-block;
    width: 30%;
    height: 80%;
    vertical-align: middle;
    background-color: #555;
}

我想让li块垂直居中,但是vertical-align: middle不行,li元素从顶部开始!另外,我希望这些 li 块之间有一个间隙,以便它们居中对齐,但彼此之间有一个间隙。我该怎么做?

use padding instead of giving specific height for li as shown below 

<div class="playerInfo">
    <ul>
        <li id="playerTeam">
            team
        </li>

        <li id="player">
            player
        </li>
    </ul>
</div>
<style>
.playerInfo{
    width: 60%;
    height: 30%;
    margin: auto;
    background-color: #888;
}

.playerInfo ul{
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.playerInfo li{
     background-color: #555;
    display: inline-block;
    padding: 11% 0;
    vertical-align: middle;
    width: 30%;
}
</style>

hope it helps

抱歉,看错问题了。正确答案是:

<div class="playerInfo">
    <ul>
        <li id="playerTeam">&nbsp;
            <span>team</span>
        </li>

        <li id="player">&nbsp;
            <span>player</span>
        </li>
    </ul>
</div>

.playerInfo{
    width: 60%;
    height: 200px;
    margin: auto;
    background-color: #888;
    position: relative;
}

.playerInfo ul{
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
    height: 100%;
}

.playerInfo li{
    display: inline-block;
    width: 30%;
    height: 80%;
    background-color: #555;
    position: relative;
    top: 50%;
    transform: translate(0, -50%);
}

demo fiddle

这就是在 li 元素中居中文本的方法。 如果您可以修改您的 DOM,则将文本换行在 span:

<div class="playerInfo">
    <ul>
        <li id="playerTeam">&nbsp;
            <span>team</span>
        </li>

        <li id="player">&nbsp;
            <span>player</span>
        </li>
    </ul>
</div>

并修改样式表:

.playerInfo{
    width: 60%;
    height: 30%;
    margin: auto;
    background-color: #888;
}

.playerInfo ul{
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

.playerInfo li{
    display: inline-block;
    width: 30%;
    height: 80%;
    background-color: #555;
    position: relative;
}

.playerInfo li span{
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}