行内元素有哪些?块级元素有哪些?CSS的盒模型?转载

块级元素:div p h1 h2 h3 h4 form ul
行内元素: a b br i span input select
Css盒模型:内容,border ,margin,padding

css中的display属性(行内元素和块级元素)

我们常用的display属性值有:

inline
block
inline-block
none

把 display 设置成 none 不会保留元素本该显示的空间,但是 visibility: hidden 还会保留。

我们最关心的还是display:inline、display:block和display:inline-block的区别:

inline特性
内联对象inline给它设置属性height和width是没有用的,致使它变宽变大的
原因是:
它实际宽度为:内部元素的宽+2*(padding+border+margin)
inline对象不单独占一行。

block特性
而块对象block是可以设置宽高的,但是它的实际宽高是:width+2*(padding+border+margin)
block元素单独占一行。

然而,当我们即需要div有宽高,又不希望它独占一行怎么办?

inline-block特性
这个时候我们就需要使用inline-block了:
因为inline-block既具有block的宽高特性又具有inline的同行元素特性。

行内元素特点

1、和其他元素都在一行上;
2、元素的高度、宽度、行高及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

块级元素特点

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。
2、元素的高度、宽度、行高以及顶和底边距都可设置。
3、元素宽度在不设置的情况下,是它本身父容器的100%,除非设定一个宽度。

元素分类(关于这点我还有些问题,暂且放上来,慢慢修改,非常欢迎纠正)

HTML中的标签元素大体被分为三种不同类型:块状元素,内联元素和内联块状元素

常见的块状元素有:

<div>,<p>,<h1>...<h6>,<ol>,<ul>,<dl>,<table>,
<address>,<blockquote>,<form>

常见的内联元素有:

<a>,<span>,<i>,<em>,<strong>,<label>,<q>,<var>,<cite>,<code>,
<img>,<input>,<select>,<textarea>,<button>

有类特殊的元素:如img|input|select|textarea|button|label等,他们被称为可置换元素(Replaced element)。他们区别一般inline元素(相对而言,称non-replaced element)是:这些元素拥有内在尺寸(intrinsic dimensions),他们可以设置width/height属性。他们的性质同设置了display:inline-block的元素一致。

margin在块级元素下,他的性能可以完全体现,上下左右任你设定。

margin也能用于内联元素,这是规范所允许的,但是margin-top和margin-bottom对内联元素(对行)的高度没有影响,并且由于边界效果(margin效果)是透明的,他也没有任何的视觉影响。

css中display属性

display属性

首先,所有主流浏览器都支持 display 属性。其次,我们都知道display 属性规定元素应该生成的框的类型。默认值:inline

我们常用的display属性值有:

  1. inline
  2. block
  3. inline-block
  4. none

display 设置成 none 不会保留元素本该显示的空间,但是 visibility: hidden 还会保留。

那么,display:inlinedisplay:blockdisplay:inline-block有什么区别呢?

<style>
.inline{display:inline; width:100px; height:100px; padding:5px; background-color:#F00;}
.block{display:block; width:100px; height:100px; padding:5px;background-color:#0f0;}
.inline-block{display:inline-block; width:100px;height:100px; padding:5px;background-color:#00f;}
</style>
<body>
<span class="inline">
inline
</span>inline
<span class="block">
block
</span> block
<span class="inline-block">
inline-block
</span>inline-block
</body>

点击result查看demo:

http://jsfiddle.net/qjgcjLm8/

inline特性

我们发现内联对象inline给它设置属性heightwidth是没有用的,致使它变宽变大的
原因是

内部元素的宽高`+padding`。观察inline对象的前后元素我们会发现`inline`不单独占一行,
其它元素会紧跟其后。

block特性

而块对象`block`是可以设置宽高的,但是它的实际宽高是本身宽高`+padding`。
观察`block`的前后元素我们会发现`block`要单独占一行。

然而,当我们即需要div有宽高,又不希望它独占一行怎么办?

inline-block特性

这个时候我们就需要使用inline-block了,再观察一下上面的demo,我们会发现:

inline-block既具有block的宽高特性又具有inline的同行元素特性。

也就是说,当我们想要让一个元素既不独占一行,又可以设置其宽高属性的时候,我们就可以选择inline-block了。

然而,在IE6/7下paddinginline的宽高是对其没影响的。

由此,我们可以联想到行内元素块级元素

行内元素特点

1、和其他元素都在一行上;

2、元素的高度、宽度、行高及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

块级元素特点

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行)

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的行内元素(inline)元素。

块级元素是可以设置宽高的,但是它的实际宽高是本身宽高+padding。block元素要单独占一行。内联元素不单独占一行,给他设置宽高是没有用的。

在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将行内元素a转换为块状元素,从页使用a元素具有块状元素特点。

a{display:block;}

那么,display的其他属性值呢?



list-item 此元素会作为列表显示。

run-in此元素会根据上下文作为块级元素或内联元素显示。

compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。

marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。

table 此元素会作为块级表格来显示(类似table),表格前后带有换行符。
inline-table 此元素会作为内联表格来显示(类似table),表格前后没有换行符。
table-row-group 此元素会作为一个或多个行的分组来显示(类似tbody)
table-header-group 此元素会作为一个或多个行的分组来显示(类似thead)
table-footer-group: 此元素会作为一个或多个行的分组来显示(类似tfoot)
table-row 此元素会作为一个表格行显示(类似 tr )。
table-column-group 此元素会作为一个或多个列的分组来显示(类似 colgroup )。
table-column 此元素会作为一个单元格列显示(类似 col )
table-cell 此元素会作为一个表格单元格显示(类似 td 和 th)
table-caption 此元素会作为一个表格标题显示(类似 caption)

行内和块级元素

时间: 2024-10-03 22:53:33

行内元素有哪些?块级元素有哪些?CSS的盒模型?转载的相关文章

行内元素自动变为块级元素

1. 两种自动把行内元素变成块级元素的方法,即使元素inline属性变成inline-block属性:1.给行内元素设置position:absolute/fixed;2.让行内元素浮动,即float;此时便可以对其设置width,height,相当于display:inline-block,但优先级高于display. 2. 伪元素:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素.1.需要和content属性一

重要的事情说三遍:列表 ul / ol 等是块级元素,是块级元素,块级元素

HTML 块级元素 大多数 HTML 元素被定义为块级元素或内联元素. 编者注:“块级元素”译为 block level element,“行内元素”译为 inline element. 块级元素在浏览器显示时,通常会以新行来开始(和结束). 例子:<h1>, <p>, <ul>, <table> HTML 行内元素 行内元素在显示时通常不会以新行开始. 例子:<b>, <td>, <a>, <img> 总之一

微信小程序布局之行内元素和块级元素

元素按照显示方式主要可以分为块级元素和行内元素,元素的显示方式由display属性控制. 块级元素特点总结: 1.总是在新行上开始 2.宽度的默认为width+margin-left+margin-right+padding-left+padding-right刚好等于父级元素的内容区域宽度,即父元素的width.当设定新的宽度,如果宽度是100%,并且padding.margin不为零,导致块级元素宽度溢出父元素 3.盒子模型的高度默认由内容决定 4.盒子模型中高度.宽度和内外边距都是可控制

行内元素和块级元素的区别

一.行内元素和块级元素的区别 1. 行内元素不会占据整行,在一条直线上排列,都是同一行,水平方向排列: 块级元素会占据一行,垂直方向排列. 2. 块级元素可以包含行内元素和块级元素:行内元素不能包含块级元素. 3. 行内元素与块级元素属性的不同,主要是盒模型属性上,行内元素设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效. 二.行内元素和块级元素的相互转换 行内元素转化为块元素: display:block; 块元素转化为行内元

替换元素和不可替换元素,块级元素和行内元素

替换元素和不可替换元素 1>  替换元素 替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容,在其显示中生成了框.HTML中的<img>.<input>.<textarea>.<select>.<object>都是替换元素.这些元素往往没有实际的内容,即是一个空元素.Example:#1 <img src=”path/to/picture.jpg”/>浏览器根据<img>标签的src属性的值来读取图片信

块级元素与行内元素

标准文档流是指在没有CSS干预时各种元素的排列规则.在这种前提下,HTML文档中的元素可以分为两大类:块级元素和行内元素.1.块级元素(block)独占一行,可以设定元素的宽和高.常见的块级元素有:* html 文档的类型* body 文档的内容* h1-h6 一级标题到六级标题* p 文章段落* ul 无序列表* li 定义列表项目* ol 有序列表* dl 定义列表* dt 定义列表中的项目* dd 定义列表中定义条目* pre 定义预格式文本* blockquote 大段引用* div 划

HTML行内元素 块级元素及语义化

---------------------------------------可以换行的元素         不能换行的元素-------------------------------- 块级元素                                                                          行内元素 div - dl - form ---交互表单 a - 链接  br - 换行  em - 强调   h1 - h6 标题  hr - 水平分隔

css基础 行内元素 块级元素

1.行内元素(内联元素 inlineElement) 特点:不占据一行,无法设置宽高及行高,其宽度随着内容增加,高度随字体大小而改变,margin只对左右起作用,上下无效. 常见有: a - 锚点,b - 粗体(不推荐),br - 换行,em - 强调,font - 字体设定(不推荐),i - 斜体,img - 图片,input - 输入框,label - 表格标签, select - 项目选择,small - 小字体文本,span - 常用内联容器,定义文本内区块,strike - 中划线,s

行内元素,块级元素

1.行内元素不会应用width和height属性,可以设置line-height. 2.行内元素margin-left,margin-right,padding-left,padding-right有效 3.对于块级元素,未浮动的垂直相邻元素的上边界和下边界会被压缩. 4.通过display:block;或display:inline-block;行内元素可以设置块级元素才能定义的css属性.通过display:inline;块级元素转变行内元素. 注:替换元素是只用来替换元素内容的部分并非由文