您现在的位置: 365建站网 > 365学习 > css中margin-right没有效果不起作用的问题

css中margin-right没有效果不起作用的问题

文章来源:365jz.com     点击数:160    更新时间:2018-01-08 11:51   参与评论
margin-right定义和用法
margin-right 属性设置元素的右外边距。
注释:允许使用负值。
默认值: 0
继承性: no
版本: CSS1
JavaScript 语法: object.style.marginRight="10px"
可能的值
值 描述
auto 浏览器设置的右外边距。
length 定义固定的右外边距。默认值是 0。
% 定义基于父对象总高度的百分比右外边距。
inherit 规定应该从父元素继承右外边距。


有人抛出了一个关于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属性。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (160人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------