在非 IE 浏览器中,默认情况下 width 属性指的是内容区域(content)的宽度。 
IE 6+ 中,如果浏览器以标准模型渲染,和非 IE 浏览器的表现是一致的;如果浏览器以怪癖模式渲染,则 width 指的是外 border 的宽度。

通常而言,网页头部添加了 <!DOCTYPE> ,则 IE 会以标准模式(或者接近标准)进行渲染,否则以怪癖模式渲染。

现代浏览器,包括 IE8 在内,都支持一个属性:box-sizing,这个属性,有两个可选值:border-box | content-box,普通元素默认情况下为 content-box。 
box-sizing: content-box; 的元素的 width 属性指的是边框的区域的宽度,正好和 IE 怪癖模式下的表现一致。于是,合理地使用 box-sizing: content-box; 在很多时候可以避免加加减减,或者额外添加新的一层元素。

对于 <input> 元素而言,box-sizing 默认情况下取值是 border-box 。也就是说,在 IE 8、Chrome 等浏览器中,你给 input 指定多少 width,它看上去就是多宽。(除非你的width太窄了)

max-width 和 min-width 就不多说了。

我的表单中有一个按钮,通常情况下为了美观需要固定一个宽度:

.button{
width: 260px;
}

但是由于网页需要用到多语言,有的文字可能很长,长到超出按钮的默认长度,所以改成下面的样式,当文字过长,按钮会自动拉长:

.button{
min-width: 260px;
}

其他浏览器中都没有问题,拿到 IE8 (最低支持 IE 8)中发现,按钮的长度好像变长了。用 Chrome 等查看,下面的黑色方块和按钮是一样宽的。而IE 8 下按钮要更宽。

.button{
padding: 8px 20px;
min-width: 300px;
}
 

IE8 里面看上去是什么样子呢?如果我们把按钮的 box-sizing 设为 content-box,在 Chrome 里面的表现,就是 IE8 里面看到的的样子。

因此,如果 IE 8 中元素宽度是 min-width 决定的,则浏览器直接忽略了 box-sizing: border-box

IE 8 下的 box-sizing 和 min-* 属性的更多相关文章

  1. C# LIstbox 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”的问题 分类: winform2008-05-24 02:33 2592人阅读 评论(11) 收藏 举报 winf ...

  2. 解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合”

    解决WinForm下ListBox控件“设置DataSource属性后无法修改项集合” 最近更新: 2013-2-15    587   很少写WinForm程序第一次使用ListBox控件就遇到了比 ...

  3. 使用 JavaScript 中的 document 对象的属性,根据下拉框中选择的属性,更改页面中的字体颜色和背景颜色

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的 document 对象的属性,根据下拉框中选择的属性,更改页面中的字体颜色和背景颜色 实现思路: 在页面的 <body&g ...

  4. Mac下Virtual Box Host-Only网络配置

    Mac下的虚拟机其实有很多,Parallels.VMware Fusion.Virtual Box都不错,Parallels是目前试过感觉最好的,Fusion装64位系统驱动支持似乎不完善,而且混合模 ...

  5. web下c#用jquery.tmpl.min.js插件实现分页查询_yginuo

    背景:webform或者mvc下实现插件快速分页 ps:我这里用的mvc开发的,数据库连接.用的ADO.NET实体数据模型 此案例下载地址(内含需要用到的一个插件与数据库):http://downlo ...

  6. bundles.Add( )下无法绑定后缀为min.css的文件

    1.问题描述: 在绑定css的时候,除了后缀名为.min.css的文件,在render.style()不显示外,其他的css都正常加载, 2.解决办法: 这个是我在调试了几遍之后发现的规律,然后解决办 ...

  7. elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg

    分析 Elasticsearch有一个功能叫做聚合(aggregations),它允许你在数据上生成复杂的分析统计.它很像SQL中的GROUP BY但是功能更强大. 举个例子,让我们找到所有职员中最大 ...

  8. virtual box 安装centos min

    2018-4-19 22:20:40 星期四 之前不小心把用了很久的centos镜像删掉了.....这里记录下安装最小版centos的步骤 1. 安装centos 2. 开启网络, 并设置为随机启动 ...

  9. fedora 21下Virtual Box安装Windows XP SP3

    Installing Virtual Box and Windows XP SP3 during Fedora 21 The first step:Download and Install Virtu ...

  10. 行盒(line box)垂直方向的属性详解:从font-size、line-height到vertical-align

    视觉格式化模型 在一个文档中,每个元素都被表示为0.1或多个矩形的盒子.确定这些盒子的尺寸, 属性 --- 像它的颜色,背景,边框方面 --- 和位置是渲染引擎的目标.① 在CSS中,使用标准盒模型描 ...

随机推荐

  1. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  2. 如何用Maven创建web项目

    使用eclipse插件创建一个web project 首先创建一个Maven的Project如下图 我们勾选上Create a simple project (不使用骨架) 这里的Packing 选择 ...

  3. 使用JS实现前端缓存

    在前端浏览器中,有些数据(比如数据字典中的数据),可以在第一次请求的时候全部拿过来保存在js对象中,以后需要的时候就不用每次都去请求服务器了.对于那些大量使用数据字典来填充下拉框的页面,这种方法可以极 ...

  4. C#调用LUA函数

    using UnityEngine; using System.Collections; using LuaInterface; public class testLUACALL : MonoBeha ...

  5. java并发编程学习: 原子变量(CAS)

    先上一段代码: package test; public class Program { public static int i = 0; private static class Next exte ...

  6. RSA加密算法的java实现

    package rsa; import java.security.*;import java.security.interfaces.*;import javax.crypto.*; public ...

  7. WCF学习笔记一

    Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. 整合了原有的windows通讯的 . ...

  8. hibernate的三表查询

    表的关系: Cardgraderule      1:n     Cardgrade Cardgrade           1:n     Acardtype 实体类: public class C ...

  9. 运维自动化轻量级工具pssh

    1pssh介绍 pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程 ...

  10. MFC的多线程操作

    记得用MFC做了一个图像自动修复软件,当时没有多线程操作这一概念,由于图像修复算法比较复杂,因此,当执行图像修复时,程序就像卡死了似得而不能做其他操作.其实MFC对这种情况有一种很好地解决方案,那就是 ...