【问题标题】:Border-bottom too wide边框底部太宽
【发布时间】:2014-06-06 18:16:09
【问题描述】:

我的网站有这个下拉菜单,我想在菜单中添加边框底部,但边框显得太宽。 我检查了每个步骤:Border too wide because of margin,因为它似乎是同样的问题,但没有任何效果。

希望你能帮帮我!

这是de css代码:

#dropdownmenu a {
        color:inherit !important;
        text-decoration:none !important}

#dropdownmenu {
        width:1050px;
        background:#137cd7;
        z-index:2;
        position:relative }
#dropdownmenu ul {
    text-align:left;
    display:inline;
    margin:0px;
    padding:10px 4px 25px 0;
    list-style:none }
#dropdownmenu ul li {
        display:inline-block;
        margin-right:10px;
        position:relative;
        padding:15px 15px 14px;
        cursor:pointer;
        -webkit-transition:all 0.2s;
        -moz-transition:all 0.2s;
        -ms-transition:all 0.2s;
        -o-transition:all 0.2s;
        transition:all 0.2s;
        color:#fff }
#dropdownmenu ul li:hover {
        background-color:#ffffff;
        color:#137cd7 }

@media screen and (-webkit-min-device-pixel-ratio:0)

#dropdownmenu ul li ul {
        top:44px !important}


#dropdownmenu ul li ul {
        padding:0px;
        position:absolute;
        top:47px;
        left:0px;
        width:170px;
        display:none;
        opacity:0;
        visibility:hidden;
        -webkit-transiton:opacity 0.2s;
        -moz-transition:opacity 0.2s;
        -ms-transition:opacity 0.2s;
        -o-transition:opacity 0.2s;
        -transition:opacity 0.2s }

#dropdownmenu ul li ul li {
        background-color:#fff;
        display:block;
        color:#222;
        border-left:1px solid #ccc;
        border-right:1px solid #ccc;}

#dropdownmenu ul li ul li:hover {
        color:#137cd7;
        background:#fff;
        text-decoration:none !important }

#dropdownmenu ul li:hover ul {
        display:block;
        opacity:1;
        visibility:visible;
border-bottom:1px solid #ccc; }    

还有 HTML:

<div id="dropdownmenu">
<ul>
    <li>
        <a href="/">Home</a></li>
    <li>
        <a href="/">Menu 1</a>
        <ul>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
        </ul>
    </li>
    <li>
        <a href="/">Menu 2</a>
        <ul>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
            <li>
                <a href="/">Submenu</a></li>
        </ul>
    </li>
    <li>
        <a href="/contact">Contact</a>
        <ul>
            <li>
                <a href="/contact"><img alt="" src="/files/19731/editor/images/support(1).JPG" style="width: 140px; height: 140px; border-width: 0px; border-style: solid;" /></a></li>
            <li>
                &nbsp;</li>
        </ul>
    </li>
</ul>

fiddle here

谢谢大家!

我添加了对我有用的代码: #dropdownmenu ul li ul li { margin-right: 0;}

这个也很好用: 1) 从#dropdownmenu ul li ul li {border-left:0; 中删除边框border-right:0} 并将边框添加到#dropdownmenu ul li:hover ul {border:1px solid #ccc;边界顶部:0;}

【问题讨论】:

标签: html css


【解决方案1】:

它是由以下原因引起的:

#dropdownmenu ul li {
   margin-right:10px;
}

该边距导致您的下拉菜单扩展得超出应有的范围。尝试添加:

#dropdownmenu ul li ul li {
   margin-right: 0;
}

Fiddle

【讨论】:

  • 如果这些 10px 的边距对于设置宽度很重要,可以将它们移除并添加到 padding-right。 jsfiddle.net/VLRUL/3 没用,但要说边距来增加宽度或保留一些可用空间可以从内部或外部元素设置
【解决方案2】:

Fiddle

从这里移除 border 样式

#dropdownmenu ul li:hover ul

并添加到这里

#dropdownmenu ul li ul li:last-child {
    border-bottom:1px solid #ccc;
}  

CSS选择器:last-child浏览器支持stat's here

【讨论】:

    【解决方案3】:

    您可以采取两种解决方案

    1) 移除#dropdownmenu ul li ul li {border-left:0; border-right:0} 的边框 并为#dropdownmenu ul li:hover ul {border:1px solid #ccc; border-top:0;}添加边框

    2) 在#dropdownmenu ul li ul li的最后一个元素中添加border-bottom #dropdownmenu ul li ul li:last {border-bottom: 1px solid #ccc;} 如果浏览器支持不是问题

    【讨论】:

      猜你喜欢
      • 2021-06-10
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多