内联元素的盒子模型与文档流定位padding属性

        内联元素的盒子模型

  • 1、内联元素不能设置width宽度和高度height

span{width:200px ; height:200px}   与     span{width:100px ; height:100px}   表现效果相同,由此可见内联元素不可以设置高度和宽度

  • 2、内联元素可以设置水平方向的内边距padding-left或padding-right

span{padding-left:20px ; padding-right:200px}

  • 3、内联元素可以设置垂直方向的内边距padding-top 或 padding-bottom,但是这个样式不会影响页面的布局,会覆盖住下面的区域。

span{padding-top:50px ; padding-bottom:50px}

<span id="box1">内联元素一</span>
<div id="box2"></div>

  • 4、内联元素可以设置边框,垂直方向依旧会覆盖下面区域,水平方向的边框会影响页面布局,会把其他的元素推向旁边。
  • 5、内联元素支持水平方向的外边距(margin:left / margin:right)
  • 6、垂直方向的外边距会重叠(margin:top /margin:bottom)

示例:设置多个span,设置前面的内联元素的水平方向的外边距    margin-right:100px  后面的内联元素的margin-left:100px;  那么二者之间的距离就变成了左右外边距相加,就是200px。

内联元素与块元素的盒子模型相比较,总结

  • 内联元素水平方向(左右)上的外边距不会重叠,计算两内联元素之间距离求边距之和;
  • 内联元素支持水平方向(左右)上的外边距;
  • 内联元素span不能设置宽度和高度,块元素div可以设置宽高;


 文档流定位 和 display属性

      通过上文对内联元素盒子模型的了解,那么 ,如果内联元素想为其设置宽高,使其具有块元素的特征该怎么做呢?又能不能把内联元素转换为块元素呢?

css的定位机制所要表达的效果可以理解为 元素可以放在哪?

一、了解文档流

文档流flow 是元素定位一种默认的情况

定位特点:从上到下,从左到右,只是有部分元素会独占一行。

应用情况:默认的方式,如果要改变这种默认的样式可以选择浮动定位和层定位。

二、文档流的定位方式

从上到下,从左到右依次排列,有的元素会自己独占一行,有的元素会和其他元素一起排列。

三、文档流的三种元素

(一)block元素

每个block类型的元素都独占一行,这种元素的width,height,padding,margin属性都是可以设置的;

常见的block类型元素有<div>,<p>,<h1>~<h6>,<table>,<form>,<ol>,<ul>

这是将a元素以block元素的样式显示(display)。从而使a元素有块状元素的特点。并且可以设置其高度宽度等属性。

还可以将其他元素设置为具有block属性,例如:a{display:block}

注意:block 默认有自动换行的效果

(二)inline元素

在宽度够用的情况下,不单独占一行,都会在一行上显示。width,height,padding,margin属性不可设置。宽度由里面文字或者是图片的宽度所决定的。这是不可改变的。

常见的inline类型元素有<span>,<a>

默认情况下,如果使用inline类型元素排列,就会出现间隙问题。为了改变这种情况可以

<span><a href="#">内容</a></span>  inline元素外面放置一个block元素

还可以将其他元素设置为具有inline属性,例如:

display:inline

(三)inline-block元素

inline-block元素有着inline元素和block元素共同的特点:

不单独占用一行

可以设置width,height,padding,margin属性

常见的inline-block类型元素:<img>

将其他类型元素转换为inline-block类型的元素

display:inline-block

(四)display属性  (display规定生成框的类型)

  • 内联元素的特征,所占区域仅仅为内容所占的区域。
  • 块元素的特征,无论是否有内容都可以独占一行。

我们可以通过display属性改变元素样式,使内联元素变为块元素。

display属性可以有四个取值,规定元素生成的类型

display:none   表示这个元素不会被显示,并且元素不会再页面中占有位置

display:block  元素都显示为block元素,元素作为块元素显示(当元素的宽高属性起作用的时候就变表示成了块元素)

display:inline  元素都显示为inline元素,元素作为行内元素或是内联元素显示;

display:inline-block   显示为inline-block元素,把一个元素作为行内块元素显示;



元素可见性的比较:display:none   与 visibility

1、display:none元素不被显示 (在上面有进行介绍过)。

  • display:none 隐藏元素,并将其从文档流中完全移除,不保留元素原有的位置,其他的元素会取而代之。

2、visibility属性,控制元素是否可见。

与display:none不同的是 visibility隐藏元素时,元素的内容应该出现的位置会留下一片空白,隐藏元素的空白区域仍然会留在文档中占据位置。

visibility有两个属性:

  • visibility:hidden      元素不可见,但在文档中仍然保留位置不会被其他元素占据
  • visibility:visible       让隐藏的元素显示出来

原文地址:https://www.cnblogs.com/nyw1983/p/11311884.html

时间: 2024-10-01 03:28:33

内联元素的盒子模型与文档流定位padding属性的相关文章

CSS定位机制Ⅰ——文档流定位

关于CSS的定位机制Ⅰ ㈠概念 对于盒子模型来说,也就是页面元素,这些盒子究竟在页面的什么位置,怎样排列它,那么找到它的位置,确定它的位置,这个就是定位机制所决定的. ㈡分类 文档流, 浮动定位,层定位 ㈢三种类型定位的功能 ⑴文档流定位(flow)   默认 我们不需要额外的设置,每种元素它们在当前的网页上面呈现出来的状态都不同,文档流定位就相当于我们平常写字一样,都是从上到下,从左到右,只是有的元素会单独占一行,有的元素跟其他元素在一行上显示. ⑵浮动定位(float) 改变默认的文档流定位

盒模型、文档流

盒模型 一.盒子中的区域 一个盒子中主要的属性就5个:width.height.padding.border.margin. width是“宽度”的意思,CSS中width指的是内容的宽度,而不是盒子的宽度. height是“高度”的意思,CSS中height指的是内容的高度,而不是盒子的高度 padding是“内边距”的意思 border是“边框” margin是“外边距” 二.认识padding 背景色会填充到padding中去,padding区域有背景颜色,background-color

前端那些事儿——中文乱码,网页中文乱码,网页乱码,块元素,内联元素

1.中文乱码 出现中文乱码的原因:网页源代码与内容的编码格式不一样,例如一个是GBK,一个是utf-8 解决方法:改成一样的编码...(注意:用IDE或者其他工具创建页面时的编码格式,跟<meta/> 里面的字符集charset字符集格式保持一致就好了) ======================================================= 2.块级元素与内联元素(有多种叫法:内联元素.内嵌元素.行内元素.直进式元素) block & inline对照表 blo

CSS文档流、块级元素、内联元素

CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>,发现里面提到的文档流概念让我很敏感. 可恶的是书中并没有解释文档流是什么东西,或许作者觉得这个太简单了以至于不值一提.但我觉得,这个概念实在太重要了.理解了它,一堆CSS布局的理论都变得易于理解,并且体会到CSS这套设计的合理性所在. 于是我根据猜测,再加实验,得出一下说法.如有错误,纯属正常. 文档流 将窗

块级元素与行内元素(内联元素)的区别和联系

在css盒子模型中,我们提到了html元素中的块元素(block element)和内联元素(inline element).那么它们究竟是什么呢? 其实,这两种元素都是html规范中的概念.块元素(block element)一般是其他元素的容器元素,能容纳其他块元素或内联元素.最常见的就是P和div这两个,说的简单点,块元素就好比一个四方块,可以放其 他的四方块,并可以呈现在页面上任何地方.默认情况下块元素,是独占一行的.常见的块元素:div.h1-h6标题.form(只能用来容纳其他块元

CSS块级元素、内联元素概念

CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>,发现里面提到的文档流概念让我很敏感. 可恶的是书中并没有解释文档流是什么东西,或许作者觉得这个太简单了以至于不值一提.但我觉得,这个概念实在太重要了.理解了它,一堆CSS布局的理论都变得易于理解,并且体会到CSS这套设计的合理性所在. 文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即

XHTML+CSS基础知识(二):块状元素与内联元素

W3C标准中规定的HTML元素有91个,他们可以被分为块状元素(block element)和内联元素(inline element)两种. 块状元素一般是其他元素的容器元素,块状元素一般都从新的一行开始,它可以容纳文本.内联元素和其他块状元素,通过width和height属性可以设置其大小. 常见的块状元素有div.p.table.h1~h6.ul.ol.li.dl.dt.dd.center.form. 其中form元素比较特殊,因为XHTML规范当中规定它只能容纳块状元素. 内联元素即非块状

CSS块级元素、内联元素概念[转]

CSS文档流与块级元素(block).内联元素(inline),之前翻阅不少书籍,看过不少文章, 看到所多的是零碎的CSS布局基本知识,比较表面.看过O'Reilly的<CSS权威指南>,发现里面提到的文档流概念让我很敏感. 可恶的是书中并没有解释文档流是什么东西,或许作者觉得这个太简单了以至于不值一提.但我觉得,这个概念实在太重要了.理解了它,一堆CSS布局的理论都变得易于理解,并且体会到CSS这套设计的合理性所在. 文档流 将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即

position:absolute会使元素脱离文档流

当元素设置position:absolute时,会脱离正常文档流,后面元素会忽略该元素->覆盖 可以给元素设置min-height解决 ------------------------------------------------------- postion 属性定义了一个元素在页面布局中的位置以及对周围元素的影响.该属性共有5个值: position: absolute position: relative position: fixed position: static position