1. 程式人生 > 其它 >行內元素和與行內塊元素的margin-top問題

行內元素和與行內塊元素的margin-top問題

技術標籤:htmlcss

行內元素和與行內塊元素的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>

在這裡插入圖片描述