css代码里的margin为什么不起作用

代码如下,为什么我这代码里用来设置<p>标签的margin-top:30px;这个用来设置的30px不起作用,如果设成margin-right、margin-left、margin-bottom这几个都可以

<ul style="border-bottom: #cccccc1px dotted; width: 781px; background: #f6f6f6; float: left; height:32px">
<li style="width: 628px; float: left; margin-left: 5px">第<span style="font-style: oblique; font-family: Arial,Helvetica, sans-serif; color: #ff6600; font-size: 32px; font-weight:bold;">1</span>天<span style="color: #009900; font-size: 14px">

<strong> 服务:  </strong>

</span></li>
</ul>

<p style="text-indent:2em;font-size:14px;margin-top:30px;">内容:</p>

<ul style="border: #dddddd 1pxsolid;padding: 8px; margin: 8px;width: 741px;background: #f8fceb; ">
<li style="line-height: 22px; color: #ff6600; font-size:12px">

汽车:
</li>
<li style="line-height: 22px; color: #ff6600; font-size:12px">
飞机:
</li>
</ul>

那是因为你的那个p元素前面的ul元素是float元素,所以p的margin-top实际上会是以ul前面的元素(如果存在,否则就会跟父元素的css属性来定位)的来定位。
所以,要么你就让你的p也是float元素,要么就让p元素clear:left或者both,或者ul和p都不是float
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
这段代码单独出来是没有问题,不起作用有个能是别的地方给p标签给设置属性了,可以margin-top:100px !important;写。还可以成padding-top:30px;,效果都一样追问

这样写,果然可以,我还有一点不明白,style这个不是级别最高吗,为什么他不用这个设置的属性

追答

css样式是按照就近原则来执行的,margin-top:100px !important; 这个属性的意思是绝对执行这个,有可能你的别的地方也加上了 !important;

本回答被提问者采纳
第2个回答  2015-05-17
亲,margin不起作用的可能有:(1)你的元素没有选择正确
(2)你在其他地方同样设置了这个元素的margin属性,那个地方的css优先级要比你现在设置的css的优先级要高
第3个回答  推荐于2016-09-30
那就是有和这个margin冲突的其他CSS设置,要么不可能不起作用的,你看看是不是被划掉了还是没花掉但不起作用
第4个回答  2016-01-05
定义和用法
margin 简写属性在一个声明中设置所有外边距属性。该属性可以有 1 到 4 个值。
说明
这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度。
块级元素的垂直相邻外边距会合并,而行内元素实际上不占上下外边距。行内元素的的左右外边距不会合并。同样地,浮动元素的外边距也不会合并。允许指定负的外边距值,不过使用时要小心。

margin是设置div外边距的,你想设置其中内容居中可以设置text-align:center水平居中
vertical-align:middle垂直居中

vertical-align
定义和用法
vertical-align 属性设置元素的垂直对齐方式。
说明
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

vertical-align的值:
baseline 默认。元素放置在父元素的基线上。
sub 垂直对齐文本的下标。
super 垂直对齐文本的上标
top 把元素的顶端与行中最高元素的顶端对齐
text-top 把元素的顶端与父元素字体的顶端对齐
middle 把此元素放置在父元素的中部。
bottom 把元素的顶端与行中最低的元素的顶端对齐。
text-bottom 把元素的底端与父元素字体的底端对齐。
length
% 使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。
inherit 规定应该从父元素继承 vertical-align 属性的值。

css 为什么有时MARGIN 不起作用,
css有时MARGIN 不起作用是设置错误造成的,解决方法为:1、新建一个HTML文件,命名为test.html。2、为了测试出明显的效果,在test.html使用div定义了一个带边框的模块,里面放一个p标签。下面以p标签的外边距设置为例,详细讲解margin的使用。3、使用margin设置p标签的左外边距。主要使用margin-left的方...

css代码里的margin为什么不起作用
那就是有和这个margin冲突的其他CSS设置,要么不可能不起作用的,你看看是不是被划掉了还是没花掉但不起作用

cssmargin-top属性不起作用的几个原因
原因二:子元素和父元素也可能会导致设置的子元素上外边距失效情况,代码实例如下:蚂蚁部落.father{ width:300px; height:300px; background-color:red; margin-top:20px;}.children{ width:100px; height:100px; background-color:blue; margin-top:10px;} 解决方法:为父对象在相应的外边距方向上...

为什么用padding可以增加链接的点击范围,而margin却不行?
因为padding是内边距,也就是容器内容距离容器边框的位置,增加了padding,那容器“肚子”扩大了,这个点击的范围不就变大了吗?而如果你修改的是margin的值,margin是外边距,是自身容器与别的容器的边距,所以只是会影响当前容器的位置,更靠近或更远离。padding控制自己扩张更大还是缩得更小。所以才会影...

bottom没有效果,css 设置margin-top或margin-bottom失效不取作用的解决...
什么原因呢?当个子元素设置margin-top属性时,如何父元素没有设置padding属性,即padding属性为0,那么会出现以上这个情况。再来看一个实例:http:\/\/www.manongjc.com\/article\/1263.html 其在IE6和IE7下显示效果为 margin:20px; 只有margin-bottom失效了。解决办法:只要在浮动的最后一个元素后面加上...

margin padding都失效
你这个问题很好解决,实际上不是margin没生效是样式替换了,你在css里面把W1000和search_box的上下顺序颠倒一下就可以了,不过还是建议规范的写css,你这些css文件里面很多代码都是不起作用的,都冲突了,都可以删除。

css中margin各种bug怎么解决
这种情况可能有三个原因:‍ ‍1.网页本身的问题,目前许多网站都是用的免费共享型模板,一般这样的模板都存在不通用,原模板的所有js(javascript)脚本可能又没有被完全用到。加之设计者的水平或是疏忽等问题。导致在页面上找不到js对象。就会显示出网页有问题的现象。2.用户电脑本身问题。

css中margin各种bug怎么解决
这种情况可能有三个原因:‍ ‍1.网页本身的问题,目前许多网站都是用的免费共享型模板,一般这样的模板都存在不通用,原模板的所有js(javascript)脚本可能又没有被完全用到。加之设计者的水平或是疏忽等问题。导致在页面上找不到js对象。就会显示出网页有问题的现象。2.用户电脑本身问题。

css 怎么叫div距离页面上边缘margin-top:90px; 不好使啊?
你这个是CSS规则问题,当父级div设定了margin属性的时候,该div再设定margin属性就会出现重合现象,就比如说父级设定了margin-top:10px; 子级设定margin-top:10;如果照正常计算的话应该是距离上面20px;但实际情况就会是只显示距离上部10px;解决方法:在父级上再加padding-top:10px;子级不用设定。

为什么margin-left有用,而有时候margin-right却没有用?有经验的人来...
浏览器默认从左向右渲染,所以元素是从左向右排列的,margin-right其实有效果的,只是在默认即标准流的情况的下显示不出来效果 解决方案:1、在CSS里设置:float:right,这时margin-right有用 2、它的右面有其他盒子

相似回答