2013-05-20 136 views
3

我有一個ul的底部邊界。列表項中還有底部的鏈接邊界。我想調整鏈路邊界的位置,使正是在UL邊界,所以它看起來是這樣的:調整邊界的位置

enter image description here

我無法設置邊框位置。這裏是我的代碼:

HTML:

<ul> 
    <li><a href="#" class="active">item 1</a></li> 
    <li><a href="#">item 2</a></li> 
    <li><a href="#">item 3</a></li> 
</ul> 

CSS:

ul{ 
    margin: 0; 
    padding: 0;  
    list-style: none; 
    overflow: hidden; 
    margin-bottom: 5px; 
    padding-bottom: 5px; 
    border-bottom: 1px solid green; 
} 

ul li{ 
    float: left; 
    margin-right: 10px; 
} 

ul li a{ 
    text-decoration: none; 
    display: block; 
} 

ul li a.active{ 
    border-bottom: 5px solid red;  
} 

的jsfiddle: http://jsfiddle.net/sZ8Gu/

回答

6

不知道這將是選項你,但刪除在overflow和給高度ul做這項工作。 jsfiddle

1

這裏是Solution

的HTML:

<ul> 
    <li><a href="#" class="active">item 1</a></li> 
    <li><a href="#">item 2</a></li> 
    <li><a href="#">item 3</a></li> 
</ul> 

的CSS:

ul{ 
    margin: 0;  
    list-style: none;  
    margin-bottom: 5px; 
    padding: 0 0 22px; 
    border-bottom: 1px solid green; 
} 

ul li{ 
    float: left; 
    margin-right: 10px; 
} 

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

ul li a.active{ 
    border-bottom: 5px solid red;  
} 

應用填充,並且評論溢出。這將創建你想要的。

希望這有助於。

+0

我希望你對解決方案感到滿意。如果沒有,請讓我知道查詢 - @ user1251698 – Nitesh

1

刪除padding-bottom:5px;從ul {}添加到ul li a {}中。

請參考下面的代碼:

ul{ 
    margin: 0; 
    padding: 0;  
    list-style: none; 
    overflow: hidden; 
    margin-bottom: 5px;  
    border-bottom: 1px solid green; 
} 

ul li{ 
    float: left; 
    margin-right: 10px; 

} 

ul li a{ 
    text-decoration: none; 
    display: block; 
    padding-bottom: 5px; 
} 

ul li a.active{ 
    border-bottom: 5px solid red; 

} 
1

移動填充底:5;從「ul」到「ul li a」

1

我檢查了你的代碼。你只需要刪除ul的填充底部。請使用以下的CSS,它會給你你想要的樣子:

ul{ 
    margin: 0; 
    padding: 0;  
    list-style: none; 
    overflow: hidden; 
    margin-bottom: 5px; 
    border-bottom: 1px solid green; 
} 
ul li{ 
    float: left; 
    margin-right: 10px; 
} 
ul li a{ 
    text-decoration: none; 
    display: block; 
} 
ul li a.active{ 
    border-bottom: 5px solid red;  
} 
1

Working Fiddle

我做了小改動,內容如下:

  • 刪除overflow: hidden
  • 替換float: leftdisplay: inline-block
  • 已添加position: relativea標籤。
  • 已添加bottom值爲負,相對於bottom-border值爲a標記。

Working Fiddle

  • 取下標籤之間的差距縮小到你所申請display: inline-block,以避免在佈局設計不必要的空格。

如果ul標籤的高度未知,此解決方案也可以使用。