CSS:<ul>的左边为什么有40px的距离呢?

这个代码:<divid="menu"><ul><li>a</li></ul></div>随便定义个大小:div{width:500px;height:100px;bord... 这个代码:
<div id="menu">
<ul><li>a</li></ul>
</div>
随便定义个大小:
div{
width:500px;
height:100px;
border:1px solid red;
}
ul{
width:200px;
height:100px;
border:1px solid blue;
}
会发现<ul>左边和下边都有margin,左边有40px,右边有20px;
这是为什么??
还有如果设定ul{float:left; margin-left:40px;},那他的左边距会变成80px,也就是双倍显示。这是为什么??
上面的CSS写错了个地方:
不是div应该是menu,反正问题还是那些问题。
展开
 我来答
YaopK
推荐于2018-02-26 · TA获得超过2065个赞
知道大有可为答主
回答量:1958
采纳率:0%
帮助的人:1741万
展开全部
浏览器的默认值.
其实很多元素浏览器都设有相应的默认值的,就如

ul有40px 的margin
body有10px 的margin
a标签有下划线
p标签字体默认是黑色
等……
(当然,各不同的浏览器,其默认值设置也有所不同)

大多数人在写CSS前,一般都会加上一条通配符设置取消浏览默认值的:

*{margin:0;padding:0;}

其实浏览器的一些默认值,自己实践多了,自然就会知道的了。
leo_howl
推荐于2016-08-09 · TA获得超过1465个赞
知道小有建树答主
回答量:290
采纳率:85%
帮助的人:95.3万
展开全部

将ul的margin和padiding设置为0;


由于不同浏览器之间有不同的默认样式,这样就导致了:“明明我没有设置margin padding,但是元素之间却存在间距等状况”。解决这种情况的方法就是在开始写css之前将所有元素的padding margin默认样式统一起来。在css文档中添加如下样式即可:

*{
padding:0;
margin:0;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
落花祭冰心
2010-11-20 · TA获得超过175个赞
知道小有建树答主
回答量:196
采纳率:0%
帮助的人:131万
展开全部
float:left; margin-left一起用的时候常出现问题,加display:inline,margin-left的数值在各个浏览器中就统一了,不会有差距 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-11-20
展开全部
你需要重置一下ul,li的默认设置:
ul,li{margin:0; padding:0;}
li{list-style:none;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式