本文所分享的知识点是【一个关于css中margin-right没有效果的问题】,欢迎您喜欢我爱IT技术网所分享的教程、知识、经验或攻略,下面是详细的讲解。
一个关于css中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="http://www.jb51.net/css/mystyle.css">
</head>
<body>
<div class="style1"><img src="http://www.jb51.net/css/bei.jpg"></div>
</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没有效果的问题的相关讨论如下:
相关问题:定义DIV时,CSS样式中的right属性和margin-right属...
答:right是在 使用position的时候用的绝对定位或者相对定位,一般情况下不建议使用。 margin-right是设置右边边距的。 你和这个需求我觉得需要用 float:left 或者float:right 浮动 >>详细
相关问题:html+css,css中设置margin-right:50px,其它浏览...
答:ie6下margin会加倍,要在css中加一句 display:inline 还有,如果有一些其他地方不兼容的话,可以使用hack来设置独有的样式 div{ margin:10px;/*FF*/ *margin:15px;/*IE7、IE6*/ _margin:15px;/*IE6*/ } >>详细
相关问题:关于CSS中margin值效果不一样的问题
答:在CSS代码最后加这句: ul{padding:0;} 你那的问题就是你只把margin的默认值去掉,而没把浏览器默认的 内补丁 padding 的值去掉. >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
