HTML/CSS 06-元素类型

css元素类型的分类, css 元素类型的转换, css float,css inline-block元素类型的应用


目录

一、元素类型的分类依据和元素类型分类

二、元素类型的转换

三、float


一、元素类型的分类依据和元素类型分类

根据css显示分类,XHTML元素被分为三种类型:

块状元素、内联元素(行内块元素)、空元素


1.块状元素(block element) div p ui ol li dI dt dd h1-h6  table form


A)块状元素在网页中就是以块的形式显示,所谓块状就是元素显示为矩形区域,

B)默认情况下,块状元素都会占据一行;默认情况下,块状元素会按顺序自上而下排列。

C)块状元素都可以定义自己的宽度和高度。

D)块状元素一般都作为其他元素的容器,它可以容纳其它内联元素和其它块状元素。我们可以把这种容器比喻为一个盒子


2.内联元素(inling element) (或是行内元素)


A)常见的内联元素如: a,span,i,em,strong,b等

B)内联元素的表现形式是始终以行内逐个进行显示;

C)内联元素没有自己的形状,不能定义它的宽和高,它显示的宽度、高度只能根据所包含内容的高度和宽度来确定,它的最小内容单元也会呈现矩形形状;

D)内联元素也会遵循盒模型基本规则,但是对于margin和padding个别属性值不生效(只能生效左右,不能生效上下)


3.内联块状元素(或是行内块元素)



内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,<img/>、 <input/>标签就是这种内联块状标签。

inline-block元素特点:

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

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

几乎所有的可替换元素都是行内元素,例如<img>、<input>等等


4.空元素(void-element)

即没有内容的HTML元素,例如:br、meta、hr、link、input、img

按照元素是否可替换分类:

替换元素、非替换元素


1、替换元素


浏览器根据其标签的元素与属性来判断显示具体的内容。

比如:<input   type="text" />,这是一个文本输入框,type换一个其他的时候,浏览器显示就不一样

(X)HTML中的<img>、<input>、<textarea>、<select>、<object>都是替换元素,这些元素都没有实际的内容。


2、非替换元素:

(X)HTML 的大多数元素是不可替换元素,他们将内容直接告诉浏览器,将其显示出来。

比如<p>xiaowu.xyz</p>

浏览器将把这段内容直接显示出来。


二、元素类型的转换

盒子模型可通过display属性来改变默认的显示类型

1、display属性与属性值

display属性:用于定义建立布局时元素生成的显示框类型 


display共有18个属性值

属性值:none | inline | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-column | table-cell | table-caption | inherit

1)block 块状显示: 就是让元素竖排显示。


2)inline 内联显示: 让元素横排显示。


3)当元素设置了float属性后,就相当于该元素具备块状元素显示的特点;


4)inline block 行内块元素显示: 元素的内容以块状显示,行内的其他元素显示在同一行。

(只有这一个元素类型支 持vertical-align属性) img,input

垂直对齐方式{vertical-align:top/bottom/middle/baseline(默认值)/text- top/text bottom;}


5)none: 此元素不会被显示。

6)list- item : 将元素转换成列表。li的默认类型。



三、float

在css中,是存在流的概念的。在正常情况下,页面总是从左到右,从上到下布局,这种被称为正常的流。但是有很多情况,正常流是没办法实现的,因此我们需要一些手段来破坏流,从而实现一些特殊的布局,float就具备破坏流的特性。


float的特性

一个元素设置了float属性,会表现出如下特性:

包裹性

块状格式化上下文

破坏文档流

没有margin合并


包裹性

包裹性包含了包裹和自适应两个特性。

包裹指的是一个浮动元素,如果子元素宽度足够小,则浮动元素的宽度就是该子元素的宽度,如下所示:


.

.float { float: left; }

<p class="float">

    <span>这是浮动元素的子元素</span>

</p>


自适应指的是如果浮动元素的父元素有设置宽度,并且浮动元素的子元素宽度超出了父元素,则浮动元素的宽度最终表现为父元素的宽度,如下所示:


.father { width: 100px; }

.float { float: left; }

<div class="father">

    <p class="float">

        <span>这是浮动元素的子元素</span>

    </p>

</div>

块状格式化上下文(BFC)

设定了float的元素,其display的最终值会表现为block或者table,具体转换如下表:



.float {

    float: left: display: block;

}

.float {

    float: left; vertical-align: middle; /* 不起作用 */

}

破坏文档流

这是float最本质的特性,因此float设计的初衷就是破坏文档流。设置float的元素,会导致父元素高度塌陷,我们来看个例子:


.float { float: left; }

<div class="father">

    <img src="./card.jpg" alt="" class="float">

</div>

<p> 文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕 </p>

可以看到,父元素的高度为0,但这不是bug,而是float本身就是这样设计的,因此只有让父元素高度塌陷了,后面的元素才有机会浮上来。但是仅仅是这样还是不可以形成图片环绕效果的,不然文字浮上来就只会覆盖在图片上面。这里面还隐藏着一个特性:

行框盒子和浮动元素的不可重叠性

意思是说行框盒子和浮动元素不会发生重叠,因此,下面的文字浮上去之后才不会覆盖在图片之上。即使我们给文字设置margin负值也不会起作用。

没有margin合并

设置了float的元素,由于形成了BFC,因此也就没有了margin合并。


float实现流体布局

前面文字环绕的例子,只要稍微改造一下就可以实现两栏或多栏的自适应布局,代码如下:

.father { overflow: hidden; height: 200px; }

.float { float: left; width: 100px; } .content { margin-left: 120px; }

<div class="father">

    <img src="./card.jpg" alt="" class="float">

    <p class="content">文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕文字环绕</p>

</div>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容

  • 本文主要是起笔记的作用,内容来自慕课网. 认识CSS样式 CSS全称为“层叠样式表 (Cascading Styl...
    0o冻僵的企鹅o0阅读 2,550评论 0 30
  • 什么是选择器 每一条css样式声明(定义)由两部分组成,形式如下: 在{}之前的部分就是“选择器”,“选择器”指明...
    小挠许阅读 300评论 0 1
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,114评论 0 5
  • 一 外部式css样式 (也可称为外联式)就是把css代码写一个单独的外部文件中,这个css样式文件以“.css...
    KunMitnic阅读 888评论 0 1
  • html 标签的意义 : 根标签,是网页的开始和结束 : 头部 很多描述属性 会显示在网页标题栏中 不会展...
    linyaDu阅读 812评论 0 1