一个关于css中margin-right没有效果的问题

在做网页的时候,常常会遇到这样那样的问题,虽然都不是大问题,可以百度解决,但为了以后方便寻找解决问题以及加深记忆,之前的很多解决方案或资料都放在电脑作为笔记,很久没敲代码突然又上手就觉得之前存放的资源都好像找不到了,很散乱,于是现在开始用文章储存~

 

转载自:http://www.jb51.net/css/173943.html

 

 

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> 
<div class="style1"><img src="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属性。

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值