CSS盒模型

一、元素分类

  在右边的代码编辑器中大家可以看到我们为 a 元素设置了宽和高,但都没有起到作用,原因是a在默认的时候是内联元素,内联元素是不可以设置的。

  变为内联块元素即可。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>内联块状元素</title>
<style type="text/css">
a{
    display:inline-block;
    width:20px;/*在默认情况下宽度不起作用*/
    height:20px;/*在默认情况下高度不起作用*/
    background:pink;/*设置背景颜色为粉色*/
    text-align:center; /*设置文本居中显示*/
}
</style>
</head>
<body>
<a>1</a>
<a>2</a>
<a>3</a>
<a>4</a>
</body>
</html>

二、盒子模型

  外边框叫border。border margin padding都有四个方向。

三、盒子模型解析

  3.1 边框

  盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。

  如下面代码为 div 来设置边框粗细为 2px、样式为实心的、颜色为红色的边框:

div{
    border:2px  solid  red;
}

  上面是 border 代码的缩写形式,可以分开写:

div{
    border-width:2px;
    border-style:solid;
    border-color:red;
}

  注意:

  1、border-style(边框样式)常见样式有:

  dashed(虚线)| dotted(点线)| solid(实线)。

  2、border-color(边框颜色)中的颜色可设置为十六进制颜色,如:

border-color:#888;//前面的井号不要忘掉。

  3、border-width(边框宽度)中的宽度也可以设置为:

  thin | medium | thick(但不是很常用),最常还是用象素(px)。

  现在有一个问题,如果有想为 p 标签单独设置下边框,而其它三边都不设置边框样式怎么办呢?css 样式中允许只为一个方向的边框设置样式:

div{border-bottom:1px solid red;}

  同样可以使用下面代码实现其它三边(上、右、左)边框的设置:

border-top:1px solid red;
border-right:1px solid red;
border-left:1px solid red;

  3.2 宽度和高度

  盒模型宽度和高度和我们平常所说的物体的宽度和高度理解是不一样的,css内定义的宽(width)和高(height),指的是填充以里的内容范围。

  因此一个元素实际宽度(盒子的宽度)=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。

  元素的高度也是同理。

  比如:

  css代码:

div{
    width:200px;
    padding:20px;
    border:1px solid red;
    margin:10px;
}

  html代码:

<body>
   <div>文本内容</div>
</body>

  元素的实际长度为:10px+1px+20px+200px+20px+1px+10px=262px。在chrome浏览器下可查看元素盒模型,如下图:

 

  3.3填充和边界

  元素内容与边框之间是可以设置距离的,称之为“填充”。填充也可分为上、右、下、左(顺时针)。如下代码:

div{padding:20px 10px 15px 30px;}

  顺序一定不要搞混。可以分开写上面代码:

div{
   padding-top:20px;
   padding-right:10px;
   padding-bottom:15px;
   padding-left:30px;
}

  如果上、右、下、左的填充都为10px;可以这么写

div{padding:10px;}

  如果上下填充一样为10px,左右一样为20px,可以这么写:

div{padding:10px 20px;}

  同理用在margin。

时间: 2024-11-02 07:25:13

CSS盒模型的相关文章

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

  当我们布局一个网页的时候,经常会遇到这样的一种情况,那就是最终网页成型的宽度或是高度会超出我们预先的计算,其实就就是所谓的CSS的盒模型造成的. #test{margin:10px;padding:10px;width:100px;height:100px;} 如上一段的代码,很多时候我们会把它所占的位置计算成width:120px,height:120px,因为在正常的理解下,padding是内边距,应该是包括在width里面的,而margin是外边距,所以width=margin-lef

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

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

彻底弄懂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入门:CSS2盒模型

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

CSS基础:CSS2盒模型

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

CSS盒子模型

CSS盒子模型示意图: 我们在网页设计中的一些常用属性名:内容(content).填充(padding).边框(border).边界(margin),CSS盒子模型均具备这些属性. 例子: html文件内容: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head

跨浏览器的Flexbox:CSS Flexible盒模型3

文章简介:CSS Flexible盒模型3又简称为Flexbox.摒弃我们传统上使用的一些hack和组件,Flexbox给网络的发展带来了很多正能量和兴奋济,让我们一起把复杂的网站布局变得简易和快速. 简介 CSS Flexible盒模型3又简称为Flexbox.摒弃我们传统上使用的一些hack和组件,Flexbox给网络的发展带来了很多正能量和兴奋济,让我们一起把复杂的网站布局变得简易和快速.早前在Flexbox: fast track to layout nirvana?一文中介绍了Flex

深入讲解CSS中盒模型的用法

  视觉类型的媒体根据CSS的视觉格式化模型(Visual formatting model)的规则来处理文档树中的元素,从而将(X)HTML转化成制作者设计的样子. 例如: 如何生成元素框; 处理各元素之间的关系; 根据框的尺寸.定位等CSS属性来确定元素的位置等; 因此,要掌握使用CSS控制页面内元素的技巧,就需要深入了解框模型(Box Model)及视觉格式化模型的原理. 文档树中的元素都产生矩形的框(Box),这些框影响了元素内容之间的距离.元素内容的位置.背景图片的位置等等.而浏览器根