这个问题别人向我提了多次,但是我没有怎么重视,今天一同事,再次问我,我特意留意了一下。
先看例子:(有问题的例子)
<style>
.a {background:red; width:300px; height:300px; }
.b {background:green; position:relative; width:100px; height:20px; margin:10px;}
.c {background:black; position:relative; width:100px; height:20px;}
</style>
<div class="a">
<div class="b"></div>
<div class="c"></div>
</div>
问题:.b { margin:10px;} margn-top:10px; 没有体现出来,效果却是margin-top:0;用firebug 看的话,我们可以看到margin-top:10px;是在的,但是效果却出现在最外层.a上面,所以一直有点困惑。
解决问题:
<style>
.a {background:red; width:300px; height:300px; float:left; }
.b {background:green; position:relative; width:100px; height:20px; margin:10px;}
.c {background:black; position:relative; width:100px; height:20px;}
.clear{ clear:both;}
</style>
<div class="a">
<div class="b"></div>
<div class="c"></div>
</div>
<div class="clear"></div>
我们在最外层加个浮动,然后在最外层的后面加个清除浮动就OK,问题解决了。
分享到:
相关推荐
通俗的讲,就是一个div内部,我们用float和margin布局元素。 BFC布局规则:1.内部的Box会在垂直方向,一个接一个地放置。2.Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠3.每个元素...
这使得元素脱离了正常的文档流,避免了外层元素受到内层元素`margin-top`的影响。修改后的CSS代码如下: ```css .errorstyle { height: 20px; width: 225px; background-color: #FFCCCC; color: #F00; font-...
5. **内层div float和display**:给子元素添加`float:left`和`display:inline`,也可以改变margin的行为。 6. **使用zoom:1**:在某些情况下,为外层div添加`zoom:1`可以使元素创建一个新的块格式化上下文,从而避免...
在IE6中,若边框不为0,会超出外层`div`,且会带动外层宽度增加,而IE7和Firefox则保持外层宽度不变,内层宽度增加。 2. **`margin`加倍问题** - IE6在处理`margin`时会有双边距加倍的现象,可通过添加`display:...
针对这个问题,给出的解决方案是在`div`样式中添加一个`background-color`属性。原CSS代码如下: ```css #divproject { margin-top: 5px; border: 1px solid #0099CC; } ``` 修改后的代码: ```css #divproject...
我们可以通过计算外层`div`的宽度和高度减去内层`div`的宽度和高度,然后将差值的一半设为内层`div`的`margin-left`和`margin-top`。这样,内层`div`会相对外层`div`居中。以下是代码示例: ```html .div1 { ...
当外层元素内有浮动元素时,如果外层元素定义了`margin-top`,则在IE6下会自动生成等量的`margin-bottom`。 **解决方案**: 对外层元素设定`border`或`float`属性,可以避免此类问题的发生。 ##### 6. 背景吞吃...
这样做的话,外层`div`中的内容(即内层的`div`)会因为外层`div`的文本居中而得到居中效果。 示例代码如下: ```css #con { width: 980px; margin: 0 auto; } ``` ```html <div style="text-align: center;"> ...
- **层次结构**:明确各部分之间的层次关系,例如顶部属于最外层,而Logo、菜单等属于内部层。 - **示例布局**:根据上述步骤,可以设计出如下的层级结构: - `body`:HTML元素,包含所有内容。 - `#Container`:...
例如,在淘宝网首页中,可以使用一个外层的`<div>`来包裹整个页面内容,内部再通过嵌套的方式组织各个模块。 ```html <div class="container"> <div class="header">...</div> <div class="content">...</div>...
- 当内层`div`宽度超过外层容器时,可能导致容器宽度被撑开。确保精确测量并设置宽度,或者使用百分比宽度以适应不同浏览器。 13. **高度动态问题**: - 动态内容高度最好通过JavaScript或CSS Flexbox进行处理,...
具体实现方式是在需要应用margin的元素外层再嵌套一层div,并给这层div设置zoom:1。这样做后,外层div的haslayout被触发,其内部的所有元素,包括原本的margin属性,都将按照预期工作。这里以一个简单的示例说明: ...
为了实现页面的居中效果,通常会在所有这些区块外层再包裹一层带有特定样式的div标签,如`<div id="container">`。通过设置`container`的宽度和margin属性,可以轻松实现页面的水平居中。 #### 四、切割效果图:从...
通过设置外层元素的`position: relative`,然后将内层元素的`position`设置为`absolute`,再利用`top: 50%`和`left: 50%`使其相对于父元素的中心定位。为了补偿元素自身的宽度和高度,可以使用`transform: translate...
10. **高度适应问题**:在嵌套元素中,当内层元素使用margin或padding时,可能导致外层元素高度不适应。解决方法包括添加padding,设置`height:0px; overflow:hidden;`,或调整浮动和清除浮动。 11. **命名规范**:...
通过上述知识点的学习,我们可以了解到 DIV + CSS 在网页设计中的重要作用。合理运用这些技巧可以帮助开发者创建更加美观、易于维护的网站。随着技术的发展,理解这些基础知识对于前端开发人员来说至关重要。
当外层div和内层div尺寸都固定时,可以使用负边距`margin`实现居中。例如: ```css .div5 { border: 1px solid red; height: 200px; width: 200px; } .div6 { border: 1px solid red; height: 100px; ...
提示框由一个外层DIV(class="out-div")和一个内层DIV(class="arrow")组成。外层DIV用于展示提示框的主体内容,内层DIV则是用来生成箭头效果的部分。提示框的内容被放置在标签中,其上方是通过内层DIV创建的三角...