`

htm盒子模型与定位

阅读更多

以下图片,详细清晰的讲明了盒子模型。


 

行内元素之间的水平距离

当两个行内元素并排紧邻时,它们之间的距离为margin-left和margin-right之和。

注意,对于行内元素,margin-top,margin-bottom无效果。

 

块级元素之间的竖直距离

两个块级元素之间的距离不是margin-bottom与margin-top总和,而是两者中的较大者。

 

盒子的浮动和定位

CSS 有三种基本的定位机制:普通流、浮动和定位。

 

浮动

浮动某元素,则要指定一个明确的宽度;否则,它们会尽可能地窄,没浮动前是100%。

浮动的框可以向左或向右移动,

如果它的外边缘碰到包含框或另一个浮动框的边框为止。


 

如果它的外边缘碰到非浮动框,则会换行到非浮动框的下面。


 

<style type="text/css">

#top{

border:thin solid #800000

}

#one{

border: thin solid red;

float:left;

}

#normal{

width:100px;

height:100px;

border:thin solid blue;

float:left

}

</style>

<div id="top">

<div id="normal">非浮动碰撞物</div>

<div id="one">阿大</div>

</div>

 

由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

<div id="top">

<div id="normal">非浮动碰撞物</div>

<div id="one">阿大</div>

<div id="two">阿二</div>

</div>

阿二如果不浮动,就会占据阿大的位置,不过阿二的文本,会受到阿大的宽度影响。(浮动元素占据的空间,会对行内元素产生影响,从而形成文本环绕的效果)


 

如果浮动,则会紧挨在阿大旁边。


 

float 属性定义元素在哪个方向浮动。

以往这个属性总应用于图像,使文本围绕在图像周围,不过在CSS 中,任何元素都可以浮动。

 

对阿大、阿二都进行浮动,它们都脱离了标准流,宋词div马上占据了阿大和阿二的位置。

两个盒子有一定的空间把文字挤到一边,形成图文混排效果。(浮动元素占据的空间,会对行内元素产生影响,从而形成文本环绕的效果

<div id="top">

<div id="normal">非浮动碰撞物</div>

<div id="one">阿大</div>

<div id="two">阿二</div>

<div id="text"><span>

谁道闲情抛弃久?每到春来,惆怅还依旧。日日花前常病酒,不辞镜里朱颜瘦。

河畔青芜堤上柳,为问新愁,何事年年有?独立小桥风满袖,平林新月人归后。

</span></div>


 

清除浮动

如果不想要文本div占据阿大阿二的位置而产生的文字环绕效果。可以对文本div使用.clear{ clear:both;}

注意:对clear属性的设置要放到文字所在的盒子里,而不是放到“浮动”的盒子里。


 

去掉文字div后,要解决高度自适应问题

去掉文字后,由于阿大和阿二都脱离了标准流,所以top DIV视阿大和阿二于无形。把高度收回。


 

解决方法是:在阿二后面加<div class=“clear”></div>,并对.clear{clear:both;}进行清除浮动。

 

定位

static (静态定位)

元素框正常生成。

relative (相对定位)

元素框偏移某个距离。它原本所占的空间仍霸占着

absolute (绝对定位)

元素框从文档流完全删除,并相对于其包含块定位。(注意:包含块必须也是绝对定位/fixed)元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存在一样。

fixed (固定定位)

元素框的表现类似于将position 设置为absolute,但其包含块是视窗本身。(不支持IE6)

 

CSS 相对定位

对一个元素进行相对定位,它将以起点为参照,垂直或水平移动。

div{

border:thin solid gray;

}

div>div{

margin:10px;

width:80px;

}

#relative{

position:relative;

top:20px;

left:30px;

}

#top{

float:left

}

<div id="top">

<div>div1</div><div id="relative">div2</div><div>div3</div>

</div>

 注意: 在使用相对定位时,无论是否进行移动,元素仍然占据原来的空间。注意,相对定位后,top div的宽度。因此,移动元素会导致它覆盖其它框。

 

绝对定位,元素不再保留原来占据的空间。


 

  • 大小: 87.3 KB
  • 大小: 6.1 KB
  • 大小: 8.4 KB
  • 大小: 10 KB
  • 大小: 7.8 KB
  • 大小: 25.6 KB
  • 大小: 25.4 KB
  • 大小: 8.1 KB
  • 大小: 4.2 KB
  • 大小: 3.8 KB
分享到:
评论

相关推荐

    CSS中的元素定位方法详解

    浏览器依据可见版式模型(visual formatting model)来安排这些盒子,主要通过position、display和float这三个属性来控制元素的布局。 1. position属性:此属性决定了元素的位置关系。当position设为static(默认值...

    纯CSS3绘制盒子猫和老鼠特效

    - HTML文件(如`说明.htm`)应包含适当的标记来组织内容,为CSS3样式提供挂载点,并可能包含数据属性来与JavaScript进行通信。 10. **源码分析**: - `jiaoben6810`可能是一个JavaScript文件,包含实现动画逻辑的...

    div+css很好的例子与特效

    Div+CSS布局的核心在于盒模型,每个Div都是一个矩形盒子,包含内容(content)、内边距(padding)、边框(border)和外边距(margin)。通过对这些属性的精细调整,可以实现灵活多样的布局方式,如流式布局、网格布局、相对...

    19款最经典的CSS样式导航栏.zip

    2. **盒模型**:理解CSS盒模型是设计导航栏的基础。每个HTML元素都可以看作一个盒子,包括内容(content)、内边距(padding)、边框(border)和外边距(margin)。 3. **定位机制**:CSS的定位机制包括静态定位、相对定位...

    网页制作课程

    - **盒子模型**:每个HTML元素都是一个矩形区域,由内容、内边距、边框和外边距组成。 - **浮动**:`float`属性使元素脱离正常文档流,常用于创建列布局。 - **定位**:`position`属性控制元素的位置。 - **`...

    css层叠样式表手册

    - 盒模型:CSS中的每个元素都是一个盒子,包括内容、内边距、边框和外边距。 - 浮动:`float: left`或`right`使元素在容器内水平移动,常用于创建多列布局。 - 定位:`position`属性,包括`static`、`relative`、`...

    纯CSS简洁TAB

    2. **CSS盒模型**:理解盒模型是创建布局的关键。在纯CSS TAB中,每个TAB按钮和内容区域都是一个盒子,它们的宽度、高度、内边距和外边距都需要精确计算,以达到理想的布局效果。 3. **伪类选择器**:如`:hover`、`...

    CSS+样式表中文手册

    2. **盒模型**:CSS中的每个元素都可视为一个盒子,包括内容(content)、内边距(padding)、边框(border)和外边距(margin),理解盒模型对于布局至关重要。 3. **层叠与继承**:CSS允许样式叠加,当多个规则应用于同一...

    经典漂亮的三列布局XHTML+CSS模

    这一主题涉及的知识点广泛,包括网页结构、CSS选择器、盒模型、浮动布局、定位技术等,下面将详细介绍这些内容。 首先,XHTML是HTML的一个扩展,它强化了HTML的语义性,使得代码更加规范和严谨。在三列布局中,...

    Delphi的IOCP框架DBIOCP3.2源码.rar

    `Delphi盒子.url`是一个快捷方式,可能指向一个与Delphi相关的网站或者论坛,开发者可以通过这个链接获取更多的Delphi编程资源和社区支持。至于`DBIOCP3.2.2`,这可能是框架的主程序或库文件,包含了实际的源代码和...

    54481andrew.github.io

    同时,HTML文件(`.html`或`.htm`)将揭示如何与CSS交互以构建页面结构。此外,还可能包含图片、JavaScript文件和其他资源,这些都是构建完整网站所必需的组成部分。通过对这些文件的深入研究,我们可以学习到实际的...

    unit-1-mini-project:用于Northwestern Coding Bootcamp的html和css mini项目

    1. **选择器与声明**:CSS通过选择器(如元素选择器、类选择器、ID选择器等)定位HTML元素,并用声明(如`color: red;`)定义样式。 2. **盒模型**:CSS盒模型包括元素的内容、内边距(padding)、边框(border)和...

    curso-esencial-html-css

    - CSS Flexbox:灵活的盒子模型,用于创建响应式布局。 - CSS Grid:二维网格布局系统,适用于复杂的布局设计。 九、HTML与CSS实战 "curso-esencial-html-css"课程将通过实例讲解如何结合HTML和CSS创建实际网页,...

    项目组合项目-HTML-CSS

    3. CSS样式属性:包括颜色(`color`,`background-color`)、字体(`font-family`,`font-size`)、边框(`border`)、间距(`margin`,`padding`)等,以及盒模型的理解。 4. 布局技巧:使用浮动(`float`),清除...

Global site tag (gtag.js) - Google Analytics