CSS:如何清除a標簽之間的默認留白間距


即使我們使用了類似 *{margin: 0;padding: 0;} 這樣的代碼重置了瀏覽器默認樣式,也會發現類似<a>標簽這種inline-block元素,它們之間也還存在着間距。

demo:默認情況

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
	<title>怎么去除a標簽的默認間距</title>
	<style type="text/css">
		*{margin: 0;padding: 0;}
		.demo{padding: 14px;text-align: center;}
		.demo p{margin-bottom: 6px;}
		.demo a{padding:3px 5px; text-decoration: none;color: #ffffff;}
		.demo a:first-child{background-color: #2eacff;}
		.demo a:last-child{background-color: orange;}
	</style>
</head>
<body>
    <p>默認情況</p>
	<div class="demo">
		<a href="#">底部鏈接1</a>
		<a href="#">底部鏈接2</a>
	</div>
</body>
</html>

 

運行效果:

 

 

我們會發現默認間距的存在,這種間距也被成為元素間留白間距。

之前也曾遇到過,但是沒太注意,最近因為和同事整理公司的UI框架,遇到類似的情況比較多,所以,查找了相關資料以及實踐驗證之后,發現了如下四種清除這種間距的方法:

 

方法一:font-size:0

	<div class="demo demo1">
		<a href="#">底部鏈接1</a>
		<a href="#">底部鏈接2</a>
	</div>

  

		.demo1{
			font-size: 0;
		}
		.demo1 a{
			font-size: 14px;/*這里一定要設置,不然文本內容將不顯示*/
		}

 

這種方法,也是微信UI框架weui采用的方法,推薦使用

 

 

運行效果:

  

方法二:a標簽內容寫在一行

因為這種間距是由於元素留白引起的,所以,當我們把代碼寫在同一行的時候,間距也可消除。

但是考慮到代碼的可讀性,這種方法建議謹慎使用!

 

	<div class="demo">
		<a href="#">底部鏈接1</a><a href="#">底部鏈接2</a>
	</div>

 

運行效果:

 

 

方法三:float浮動

	<div class="demo demo2">
		<a href="#">底部鏈接1</a>
		<a href="#">底部鏈接2</a>
	</div>

  

		/*float(浮動)*/
		.demo2{
			display: -webkit-box;
			display: -webkit-flex;
			display: flex;
			justify-content: center;
		}
		.demo2 a{
			float: left;
		}

 

*注: .demo2樣式只是為了案例顯示效果,非必需。

我們可以從多出來的代碼就可以看到,這種方法會對原來的布局造成影響,所以,如果要采用這種方法,要考慮到對布局的影響。

 

運行結果:

 

 

方法四:letter-spacing

 

	<div class="demo demo3">
		<a href="#">底部鏈接1</a>
		<a href="#">底部鏈接2</a>
	</div>

  

		/*letter-spacing*/
		.demo3{
			letter-spacing: -999px;
		}
		.demo3 a{
			letter-spacing: 0;
		}

 

注:該方法兼容性良好可以使用。 

運行結果:

 

在線演示DEMO:

 http://codepen.io/kevinInsight/pen/wgLqXO

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM