首頁 >web前端 >css教學 >一個關於css中margin-right沒有效果的問題

一個關於css中margin-right沒有效果的問題

巴扎黑
巴扎黑原創
2018-05-28 11:33:013542瀏覽

margin-right其實有效果的,只是在預設即標準流的情況的下顯示不出來效果。如果脫離標準流呢?想到這個,就立刻在css檔中加了一個:float:right;然後在測試的時候就能看到margin-right的效果了 今天在群組裡面,有人拋出了一個關於css中margin-right沒有效果的問題。 CSS程式碼與HTML程式碼如下:

程式碼如下:

.style1{ 
width:400px; 
height:440px; 
background-color
:red; 
border:5px solid silver; 
margin-top
:20%; 
margin-right:30%; 
}

程式碼如下:

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="mystyle.css"> 
</head> 
<body> 
<p class="style1"><img src="bei.jpg"></p> 
</body> 
</html>

把他的程式碼copy下來,換一張圖片,我做了一個test,真的不行。
 
難道是top會隱藏掉right的效果?或跟順序有關?後來證明這些都是錯誤的想法。結合w3school對margin-right和自己隱約的記憶:瀏覽器是預設左對齊的。靈感一來,margin-right其實有效果的,只是在預設即標準流的情況的下顯示不出來效果。如果脫離標準流呢?想到這個,就立刻在css檔案中加了一個:float:right;然後在測試的時候就能看到margin-right的效果了。

用float:left也是不行的,這跟預設的情況是差不多的。
PS:關於right屬性無效的原因:right屬性只有在position是absolute的情況下才有效,而預設的position值是static,right屬性是無效的。建議能不使用right就不要使用right屬性。

以上是一個關於css中margin-right沒有效果的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn