-
float和height出现在2个相邻div时出现的奇怪问题5
<html> <head> <title>2个div之间的间隔</title> <style type="text/css"> body {background-color: #ddd;} #leftsider{ border:red 1px solid; float:left; width:100px; height:500px; } #rightsider{ border:green 5px solid; [b] height:100px;[/b] } </style> </head> <body> <div id="leftsider">这里是左边</div> <div id="rightsider">这里是右边</div> </body> </html>
预览效果发现2个DIV中间出现一个空白缝隙,当删除#rightsider中的height:100px;后得到想要的效果,不删除的情况为什么会有空白出现呢?2009年10月09日 21:34
3个答案 按时间排序 按投票排序
-
和height:100px没什么关系,主要是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的影响,然后再通过position来安排位置2009年10月10日 16:56
-
IE6的著名3px BUG(断头台bug):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>52css.com</title>
<style type="text/css">
<!--
#left {
float:left;
width:200px;
height:100px;
background:#f00;
}
#right {
width:200px;
height:100px;
background:#fc0;
}
-->
</style>
</head>
<body>
<div id="left">oyksoft.com</div>
<div id="right">oyksoft.com</div>
</body>
</html>
两个层,一个浮动,一个不浮动,把浮动的一个放在不浮动层中,你会发现两个之间有点间隙,宽度为3px。这个问题是最让人头疼的问题了。
解决方法:
1、所有的层都浮动 把右边那个层也设置成浮动层就可以消除这可恶的3px间隔
2、给左边的层,应用margin-right:-3px;,同样可解决IE 3px bug.
2009年10月10日 15:22
-
这是著名的IE6 3像素偏移bug。《精通Css》上介绍的比较详细。
如果想看英文的,推荐这篇:
http://www.positioniseverything.net/explorer/threepxtest.html
中文看看这个:
http://www.w3cstandard.com/read.php?52009年10月10日 11:27
相关推荐
其次,`margin`加倍问题主要出现在IE6中,当元素设置了`float`属性时,其margin会被错误地加倍。解决办法是在该元素上添加`display:inline`,这可以使IE6正确解析margin值。 浮动元素产生的双倍距离问题也是IE6的一...
在IE中,两个相邻的块级元素可能会出现外边距折叠现象,即两个元素之间的外边距会被合并成一个较大的值。为了避免这种情况,可以在两个元素之间插入一个空的 `div`,并为其设置 `clear: both;`。 ```css .clear { ...
当多个浮动元素相邻时,可能会出现间距不一致的问题。为了解决这个问题,可以使用“clearfix”方法,通过在父容器上添加一个特殊的class,使其自动清除内部浮动。 ```css /* Clear Fix */ .clearfix:after { ...
在不同浏览器中,对于`float`元素和相邻非`float`元素的处理方式存在差异。具体表现为,在IE6中,当一个元素设置了`float`属性后,其后的相邻非`float`元素也会受到浮动的影响,表现为似乎被“拉入”浮动区域。而在...
13. **边距重叠问题**:当相邻元素的外边距相遇时,可能会发生重叠,了解并解决这个问题能优化布局效果。 通过学习和实践这50个布局示例,开发者不仅可以掌握基本的DIV+CSS布局技巧,还能深入了解和运用更先进的...
**解析**:`clear`属性可以防止元素与其前面的浮动元素相邻,通常用于清除由`float`造成的布局问题。 ##### 5. 多栏布局 **描述**:通过浮动实现多栏布局。 **代码片段**: ```css #wrap { width: 100%; height: ...
}`,可以让textarea的滚动条只在内容过多时出现,高度自动调整以适应内容。 2. **鼠标指针样式**:使用`cursor: pointer;`可以使元素的鼠标指针变为手形,通常用于可点击的元素。 3. **断词控制**:`word-wrap: ...
**问题描述**:当一个元素设置了`float`属性后,其相邻的兄弟元素如果设置了`margin`可能会出现外边距合并现象。 **解决方案**: - **display: inline**:可以在浮动元素上添加`display: inline;`来避免此问题。 ...
标题和描述均指向了一个核心议题——CSS在不同浏览器(尤其是IE6.0、IE7.0与Firefox)之间的兼容性问题。这个问题对于Web开发者来说至关重要,因为不同的浏览器可能对CSS的解析和渲染方式存在差异,导致网页在不同...
在CSS布局中,有时我们需要让一个元素(通常是侧边栏或菜单)具有固定的宽度,而相邻元素(通常是内容区域)则自动扩展以填满剩余空间。这种布局可以通过多种方法实现,其中一种简单的方式就是使用浮动(float)属性...
2. **定位与浮动**:CSS的`position`属性(如`static`、`relative`、`absolute`、`fixed`)用于控制元素的位置,`float`属性(如`left`、`right`)则用于元素的浮动,这些特性在创建复杂的多列布局时非常有用。...
### DIV+CSS 高手也得看的15个CSS常识 #### 1. 不要使用过小的图片做背景平铺 在网页设计中,背景平铺是一种常见的技术手段,用于填充较大的区域以增强视觉效果。然而,如果选择尺寸过小的图片作为背景平铺,则会...
这就是为什么当两个或多个浮动元素在同一个父容器内时,它们会彼此相邻排列。 然而,由于浮动元素不再占据其父容器的垂直空间,如果父容器中没有其他非浮动内容,该父容器的高度将会变为0,导致父容器无法包裹住...
当多个浮动元素相邻时,可能会影响非浮动元素的位置。解决方法是在最后添加一个清除浮动的元素: ```css .clear { clear: both; } ``` 或使用CSS3的`clearfix`伪类。 5. **列表元素的初始化**: - Firefox...
当一个 `div` 的内容超过其设定的高度时,在 FF 中可能会出现与相邻 `div` 重叠的情况,而在 IE 中则会自动调整以适应内容的高度。为了避免这种现象,一种推荐的做法是不显式指定高度,让 `div` 自动调整大小。另一...
标题中的“IE6 两个div有间隙的问题(IE 3px bug)”指的是在使用Internet Explorer 6浏览器时,两个并排放置的div元素之间会出现一个大约3像素的空隙,这在其他浏览器如IE7中通常是不存在的。这个问题是由于IE6对盒...
这个功能允许用户通过拖动一个中间的分割条来动态调整相邻div的宽度。这对于创建可响应的布局和提供用户友好的界面非常有帮助。 首先,我们需要了解在HTML结构中,我们需要三个部分来实现这个效果:左侧div、调整...
**问题描述**:在IE6浏览器中,当一个元素设置了`float`属性后,其相邻的兄弟元素如果也设置了`float`,那么它们之间的`margin`会出现重叠现象。 **解决方法**: - 使用条件注释为IE6单独添加CSS样式,如`<#div id=...