在非 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. UVALive - 4108 SKYLINE[线段树]

    UVALive - 4108 SKYLINE Time Limit: 3000MS     64bit IO Format: %lld & %llu Submit Status uDebug ...

  2. JavaScript模板引擎artTemplate.js——如何引入模板引擎?

    artTeamplate.js在github上的地址:artTemplate性能卓越的js模板引擎 引入模板引擎,就是引入外部javascript啦,并且artTemplate.js不依赖其他第三方库 ...

  3. JavaScript模板引擎artTemplate.js——为什么使用模板引擎?

    作为一个工作一年的菜鸟,在公司做了几个外包项目,也接触到了不同形式的web开发.其实也没多少,就是javaweb开发和HTML5移动开发,这两者在页面展示的时候的解决方案还是有所不同的. 1.vo+e ...

  4. Maven使用archetype迅速生成项目骨架

    archetype意思是"原型",相当于项目模板.archetype是maven的一个插件,相当于模板工具包. 一个十分重要的mvn指令:mvn 插件名:目标名maven自带三个内 ...

  5. 81 dumpe2fs-打印“ext2/ext3”文件系统的超级块和快组信息

    dumpe2fs打印"ext2/ext3"文件系统的超级块和快组信息. 语法 dumpe2fs (选项) (参数) 选项 -b:打印文件系统中预留的块信息: -ob<超级块& ...

  6. iOS真机调试引入第三方库(如友盟等)编译时候,出现错误提示

    用Xcode 7 beta 3在真机(iOS 8.3)上运行一下工程,结果发现工程编译不过.看了下问题,报的是以下错误: MARK:解决方法:在building Setting 中设置bitCode ...

  7. php 读取csv 乱码

    在php手册里面有这样一个例子,为什么读出的是乱码<?php$row = 1;$handle = fopen("test.csv","r");while ...

  8. MAC && Linux terminal session clone

    MAC && Linux terminal session clone 背景 本人使用的是mac,terminal配置的是iterm2,相信许多公司和我司一样登录dev/beta/pr ...

  9. MySQL基本命令

    1.修改root用户登录密码: [root@17track bin]# /usr/local/mysql/bin/mysqladmin -u root password 'MyPassword' my ...

  10. TP-LINK WR941 DD-WRT刷回OpenWRT及OpenWRT刷回原厂固件

    1.DD-Wrt 刷回 OpenWrt A.从官网下载固件: root@TL-DDWRT:/tmp# wget http://downloads.openwrt.org/barrier_breaker ...