ie6兼容问题1——双边距

在开始的学习过程中,不清楚什么是双边距,通过上网查询,渐渐知道原形。概述为:若给一个浮动元素加上了同浮动方向一致的margin,则会在IE6上表现出双边距(在浮动方向的最边上会出现2*的margin).用图可表示为:

高版本浏览器:IE浏览器:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    <title></title>
    <style type="text/css">
        .box{width:200px;height:300px;border:1px solid #ccc;}
        .square{float:left;margin-left:10px;width:80px;height:100px;background:red;/*display:inline; 方案1*/}        .s1{_margin-left:5px;}   //方案2    </style></head><body> <div class="box">     <div class="square s1"></div>    <div class="square s2"></div></div> </body> </html>

解决方案:

1.给浮动的元素添加display:inline属性;

2.给ie6加写一个hack,变浮动方向的最边上元素的margin为本身的一半(本例中即为_margin-left:5px),不推荐使用。

时间: 2024-10-20 05:59:01

ie6兼容问题1——双边距的相关文章

ie6下双边距的问题

1.ie6双边距情况 <div class="red"></div> <div class="blue"></div> body,div{ margin:0px; padding:0px; } .red{ width:200px; height:200px; background: red; float:left; margin:20px; } .blue{ width:300px; height:200px; bac

CSS中IE6下双边距BUG解决方案

其实这个问题在刚学习CSS的时候就知道怎样解决了,但是一直不知道为什么会出现这种现象,今天顺便记录一下. 1.为什么会出现双边距BUG? <style type="text/css"> body,div{padding: 0;margin: 0;} .box{border: 10px solid black;float: left;} .inner{width: 100px;height: 100px;background: red;float: left;margin:

IE6双边距bug及其解决办法

<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <style type="text/css"> body,div{ margin:0; padding:0; } #div1{ width:200p

ie6兼容

参考文章: 1.IE6怪异解析之padding与border算入宽高 原因:未加文档声明造成非盒模型解析 解决方法:加入文档声明<!doctype html> 2.IE6在块元素.左右浮动.设定marin时造成margin双倍(双边距) 解决方法:display:inline 3.以下三种其实是同一种bug,其实也不算是个bug,举个例子:父标签高度20,子标签11,垂直居中,20-11=9,9要分给文字的上面与下面,怎么分?IE6就会与其它的不同,所以,尽量避免. 1)字体大小为奇数之边框高

IE双边距bug

标准参考 根据 W3C CSS2.1 规范中的描述,对于非替换的浮动元素,若 'margin-left' 或 'margin-right' 特性的计算值为 'auto',则它们的实际使用值为 '0'. 除此之外,'margin-left' 与 'margin-right' 特性的计算则采用其自身定义的规范. 关于 'margin-left'.'margin-right' 以及 非替换的浮动元素宽度计算 的详细信息,请参考 CSS2.1 规范 8.3 Margin properties: 'mar

双边距BUGfloat导致的运用display2.3像素疑问

标签选择后者优先级高7.前端页面有哪三层构成,别离是啥?效果是啥?构造层 Html表明层 CSS行动层 js8.css根本句子构成是?选择器{特点1:值1;特点2:值2;}9.做的页面在哪些流览器测试过?这些浏览器的内核别离是啥?IeIe内核)火狐(Geckogoogle(webkitopearPresto10. 写出几种IE6BUG处理办法1.双边距BUGfloat导致的运用display2.3像素疑问 运用float导致的运用dislpay:inlin-3px3.超链接hover点击后失效

1:什么时候margin取最大值 而不是相加 2:ie6margin双边距bug怎么解决

margin在垂直取值的时候是重叠的,如果上下盒模型分别都有margin,那么取较大值.这一点是值得大家注意的了,平时如果在上下两个容器都设置了margin时,注意垂直取值时并不是两个值相加,而是取较大值. 2: 这是IE6的双边距BUG.当满足下面这三个条件时,就会出现这个BUG: 1.要为块状元素: 2.要左侧浮动: 3.要有左外边距(margin-left). 出现双边距的条件是当浮动元素的浮动方向和margin的方向一致时才会出现.也就是说,并不是只有块状元素左浮动,且具有左外边距时才有

IE6下margin双倍边距Bug的处理办法

改了一天,我才发现了问题,除了IE6双倍边距之外,其他的浏览器都没有问题,为此改了无数次的代码.为了修复双倍边距bug,整理了一下的资料. 一.什么是双边距Bug? 先来看图: 我们要让绿色盒模型在蓝色盒模型之内向左浮动,并且距蓝色盒模型左侧100像素.这个例子很常见,比如在网页布局中,侧边栏靠左侧内容栏浮动,并且要留出内容栏的宽度.要实现这样的效果,我们给绿色盒模型应用以下CSS属性: 以下为引用的内容:.floatbox { float: left; width: 150px; height

常见的IE6兼容以及css兼容

迈着小短腿的YY 常见的IE6兼容以及css兼容 IE6虽然随着XP系统退出市场在国外基本基本消失,但是在国内依然占据很大的市场份额.政务网站.页游官网等依然要考虑到IE6用户的体验.如果你的网站使用CSS3等“新技术”时,就必须果断放弃IE6的兼容. 浏览器添加默认样式 问题: 有些浏览器会给浏览器添加默认样式,而且不同浏览器添加的样式不同,导致布局在不同浏览器发生不同的错乱. 解决: 清楚默认样式,保证不同浏览器样式统一.(百度中有很多不错的清除样式模板)以下是我自己常用的清除样式文件: 1