CSS盒模型制定网页的宽度和高度的原理

   当我们布局一个网页的时候,经常会遇到这样的一种情况,那就是最终网页成型的宽度或是高度会超出我们预先的计算,其实就就是所谓的CSS的盒模型造成的。

  #test{margin:10px;padding:10px;width:100px;height:100px;}

  如上一段的代码,很多时候我们会把它所占的位置计算成width:120px,height:120px,因为在正常的理解下,padding是内边距,应该是包括在width里面的,而margin是外边距,所以width=margin-left + margin-right + width,但是浏览器对于CSS盒模型的解释却并非如此,所以最终我们会发现布局出来的网页宽度与高度都会超出我们预期的计算,最后造成显示上的错位。 网页教学网

  其实不然,对于test所占的位置的真正计算应该是width=margin-left + margin-right + padding-left + padding-right + width,也就是宽度真正所占的大小应该是内边距+外边距+宽度本身,也就是说test真正的大小应该是140px才对。高度的计算与宽度的计算是一样的。 网页教学网

  而如果给test加上边框的话,这个宽度与高度的算法还应该加上边框的大小。

  #test{margin:10px;padding:10px;border:5px;width:100px;height:100px;}

  这里的test的宽度就应该是外边框+内边框+边框+宽度本身,所以test的width是 150px。

  如下图所示,width与height真正所占的位置并不是它本身的那一小块,而应该是一直到最外面深蓝色的那个层为止。

时间: 2024-10-02 19:09:17

CSS盒模型制定网页的宽度和高度的原理的相关文章

新手 菜鸟 问题-如何处理css盒模型布局关系?

问题描述 如何处理css盒模型布局关系? 如何做到 把嵌套在一个大盒模型中的两个小盒模型一上一下向右浮动? 解决方案 你可以把盒子看成房子里的每个物品,设定他们的宽高,位置和层次,想怎么摆都是可以的.如果需要适配,在最外层加上缩放就好啦 解决方案二: CSS布局模型CSS的布局模型CSS布局模型

jQuery设置指定网页元素宽度和高度的方法

 这篇文章主要介绍了jQuery设置指定网页元素宽度和高度的方法,涉及jQuery操作width及height方法的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery设置指定网页元素宽度和高度的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <!DOCTYPE html> <html> <head> <script src=&

jQuery设置指定网页元素宽度和高度的方法_jquery

本文实例讲述了jQuery设置指定网页元素宽度和高度的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button").click(function(){ $("

CSS盒模型

一.元素分类 在右边的代码编辑器中大家可以看到我们为 a 元素设置了宽和高,但都没有起到作用,原因是a在默认的时候是内联元素,内联元素是不可以设置宽和高的. 变为内联块元素即可. <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>内联块状元素&

使用CSS和Javascript控制网页图片宽度的大小

JorWang の 小喇叭:『 最近比較忙啊,暫時不更新了,大家玩得開心點哦!O(∩_∩)O~ 』 刚刚看到两个控制网页图片宽度的大小的方法,觉得很好很方便,特此分享给大家. 第一个方法是使用CSS来实现控制大小: img{ border:0; margin:0; padding:0; max-width:590px; width:expression(this.width>590?"590px":this.width); max-height:590px; height:exp

彻底弄懂CSS盒模型 Box Model

前言 如果你想尝试一下不用表格来排版网页,而是用CSS来排版你的网页,也就是常听的用DIV来编排你的网页结构,又或者说你想学习网页标准设计,再或者说你的上司要你改变传统的表格排版方式,提高企业竞争力,那么你一定要接触到的一个知识点就是CSS的盒子模式,这就是DIV排版的核心所在,传统的表格排版是通过大小不一的表格和表格嵌套来定位排版网页内容,改用CSS排版后,就是通过由CSS定义的大小不一的盒子和盒子嵌套来编排网页.因为用这种方式排版的网页代码简洁,更新方便,能兼容更多的浏览器,比如PDA设备也

CSS教程&amp;nbsp;CSS盒模型(Box&amp;nbsp;Model)问题详解

width和height定义的是Content部分的宽度和高度,padding border margin的宽度依次加在外面.背景会填充padding和content部分.但是由于浏览器设计上的问题,不同浏览器显示效果会有些不同.左右Margin加倍的问题当box为float时,IE6中box左右的margin会加倍 W3C定义的盒模式如下: width和height定义的是Content部分的宽度和高度,padding border margin的宽度依次加在外面.背景会填充padding和c

网页图片宽度和高度自适应程序代码

一.使用CSS实现图片的自适应使用CSS实现图片自适应很简单,主要靠两个参数来完成,分别是max-width和max-height,这两个参数在FIREFOX和IE7以上支持都很好,但是在IE6上面,效果非常糟糕,尤其是对于多张图片的显示,第一次显示网页大都很难达到图片自适应的效果,一般都是有些能自适应,有些不能自适应,多次刷新可能又显示OK,就是这点就足够烦人,而且一旦显示多张图片,IE 6上就卡的要命(expression在IE上比较占用资源,感觉设计是用来玩得,FIREFOX自适应效果还是

CSS入门:CSS2盒模型

css CSS2盒模型 CSS2中的盒模型是关系到设计中排版定位的关键,任何一个选择符都遵循盒模型规范,例如<div>.<p>.<a>--盒模型包含(外补丁)margin,(背景颜色)background-color,(背景图片)background-image,(内补丁)padding ,(内容)content,(边框)border.下图是CSS盒模型的示意图 平面示意图 3D示意图(原图出自:hicksdesign) Flash示意模型 需要说明的是:IE和Mozi