行內元素和與行內塊元素的margin-top問題
阿新 • • 發佈:2020-12-10
行內元素和與行內塊元素的margin-top問題
內聯(行級)元素 不能設定寬高,但padding屬性可以設定,需要注意的是行級元素不能設定margin-top和margin-bottom屬性,但可以設定margin-left和margin-right屬性。如果需要設定行級元素的margin-top或margin-bottom屬性,必須將行級元素轉換成內聯塊級元素或塊級元素。
原始碼: 給行內元素加padding屬性,是可以設定的,也可以設定margin-left屬性。
<style>
.box{
position : relative;
width: 400px;
height: 100px;
border: 1px solid #000;
}
.w{
padding: 10px;
margin-left: 30px;
background-color: yellow;
}
</style>
<body>
<div class="box">
< span class="w">span元素加了 padding屬性和 margin-left屬性</span>
</div>
</body>
</html>
而行內元素不能設定margin-top/bottom屬性,只要將行級元素轉換成內聯塊級元素或塊級元素,就可以了。
<style>
.box{
width: 200px;
height: 200px;
border: 1px solid #000;
}
.w {
display: inline-block;
margin-top: 30px;
background-color: yellow;
}
</style>
<body>
<div class="box">
<span class="w">這是span行內元素標籤</span>
</div>
</body>
</html>
如果在行內標籤前面還有一個行內標籤,並且只讓後面的出現距離,這時加margin-top,就沒用了,前面的也會一起掉下來,加paddint-top/bottom屬性也是沒用的。
<style>
.box{
width: 300px;
height: 100px;
border: 1px solid #000;
}
.w{
display: inline-block;
margin-top: 30px;
background-color: yellow;
}
</style>
<body>
<div class="box">
<a href="#">超連結</a><span class="w">這是span行內元素</span>
</div>
</body>
</html>
這時我們就用一種方法就可以設定距離,給需要移動的元素加transform屬性就可以了
<style>
.box{
position: relative;
width: 300px;
height: 100px;
border: 1px solid #000;
}
.w{
display: inline-block;
transform: translate(20px,20px);
background-color: yellow;
}
</style>
<body>
<div class="box">
<a href="#">超連結</a><span class="w">span元素加了transform: translate屬性</span>
</div>
</body>
</html>