css下拉列表对齐img和文本

时间:2015-03-10 16:20:25

标签: html css vertical-alignment text-alignment

我的css中有一个问题,我可以解决它,我需要将文本和img对齐在我的中心下拉列表中。 igm看起来居中,但文字略低。 我还想让文本远离img

有任何帮助吗? 这就是我得到的enter image description here 我删除了很多源代码CSS以便能够发布auestion,我希望我的问题不在于我删除的内容。 HTML

    <section class="main">
        <div class="wrapper-demo">
            <div id="dd" class="wrapper-dropdown-2">
                <span>Deutsch</span>
                <ul class="dropdown">
                    <li><a href="#"><img src="./images/flags/flags_iso/32/de.png" >Deutsch</a></li>
                    <li><a href="#"><img src="./images/flags/flags_iso/32/en.png" >English</a></li>
                    <li><a href="#"><img src="./images/flags/flags_iso/32/fr.png" >Fran&ccedil;ais</a></li>
                    <li><a href="#"><img src="./images/flags/flags_iso/32/es.png" >Español</a></li>

                </ul>
            </div>
        ​</div>
    </section>

CSS

/* DEMO 2 */

.wrapper-dropdown-2 {
    /* Size and position */
    position: relative; /* Enable absolute positionning for children and pseudo elements */
    width: 200px;
    margin: 0 auto;
    padding: 10px 15px;

    /* Styles */
    background: #fff;
    border-left: 5px solid grey;
    cursor: pointer;
    outline: none;
}

.wrapper-dropdown-2:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 16px;
    top: 50%;
    margin-top: -3px;
    border-width: 6px 6px 0 6px;
    border-style: solid;
    border-color: grey transparent;
}

.wrapper-dropdown-2 .dropdown {
  /* Size & position */
    position: absolute;
    top: 100%;
    left: -5px;
    right: 0px;



    /* Hiding */
    opacity: 0;
    pointer-events: none;
}

.wrapper-dropdown-2 .dropdown li a {
    display: block;
    text-decoration: none;
    color: #333;
    border-left: 5px solid;
    padding: 10px;

}


.wrapper-dropdown-2 .dropdown li i {
    margin-right: 5px;
    color: inherit;
    vertical-align: middle;
}




/* Active state */

.wrapper-dropdown-2.active:after {
    border-width: 0 6px 6px 6px;
}

.wrapper-dropdown-2.active .dropdown {
    opacity: 1;
    pointer-events: auto;
}

/* No CSS3 support */

.no-opacity       .wrapper-dropdown-2 .dropdown,
.no-pointerevents .wrapper-dropdown-2 .dropdown {
    display: none;
    opacity: 1; /* If opacity support but no pointer-events support */
    pointer-events: auto; /* If pointer-events support but no pointer-events support */
}

.no-opacity       .wrapper-dropdown-2.active .dropdown,
.no-pointerevents .wrapper-dropdown-2.active .dropdown {
    display: block;
}

3 个答案:

答案 0 :(得分:0)

尝试使用

.wrapper-dropdown-2 .dropdown li a img{
  vertical-align:middle;
}

答案 1 :(得分:0)

抱歉,我只能回答,我没有足够的评论意见。看起来您的旗帜图像的高度比文本高。因此,这将增加包含标志和文本的div的高度。

[]
[]English

上面,4个方括号代表旗帜。这就是正在发生的事情。而如果它们的大小相同:

[]English

答案 2 :(得分:0)

.dropdown li a
{
display: inline-block;
line-height: 18px;
}
.dropdown li img
{
float: left;
margin-right: 5px;
}