好程序员web前端分享CSS元素类型
好程序员web前端分享CSS元素类型
目标
- 1、元素类型分类依据和元素类型分类
 - 2、元素类型的转换
 - 3、inline-block元素类型的应用
 - 4、置换和非置换元素的概念和应用案例
 
一、元素类型分类依据和元素类型分类
根据css显示分类,XHTML元素被分为
三种类型:块状元素,内联元素
1.块状元素(block element)
A)块状元素在网页中就是以块的形式显示,所谓块状就是元素显示为矩形区域,常用的块状元素包块div,dl,dt,dd,ol,ul,li,(h1-h6),p,form,hr,table,tr,td,等;
B)默认情况下,块状元素都会占据一行,通俗地说,两个相邻块状元素不会出现并列显示的现象;默认情况下,块状元素会按顺序自上而下排列。
C)块状元素都可以定义自己的宽度和高度。
D)块状元素一般都作为其他元素的容器,它可以容纳其它内联元素和其它块状元素。我们可以把这种容器比喻为一个盒子
注:p标签是一个块元素,但它只能作为内联元素(inline element)的容器;
2.内联元素(inline element)(或是行内元素)
A) 常见的内联元素如:a,span,i,em,strong,b,u,del,s,input,img,br,sub,sup等
B) 内联元素的表现形式是始终以行内逐个进行显示;
C) 内联元素没有自己的形状,不能定义它的宽和高,它显示的宽度、高度只能根据所包含内容的高度和宽度来确定,它的最小内容单元也会呈现矩形形状;
D)内联元素也会遵循盒模型基本规则,如可以定义padding,border,margin,background等属性,padding,border,margin上下的值没有实际功能;
二、元素类型的转换
元素可通过display属性来改变元素的默认显示类型
1)display属性与属性值 (18个属性值)
属性值:block/inline/inline-block(img,input)/none/list-item(li)/table-row/table(table)/table-cell(td)/table-header-group(thead)/table-footer-group(tfoot);
作用:块状元素和内联元素之间的转换。
说明:各属性值的作用
1)Block块状显示:类似在元素后面添加换行符,也就是说其他元素不能在其后面并列显示。或者就是让元素竖排显示。
2)inline内联显示:在元素后面删除换行符,多个元素可以在一行内并列显示。或者就是让元素横排显示。
3)Inline-block行内块状显示:元素的内容以块状显示,行内的其他元素显示在同一行。
(此元素类型支持vertical-align属性)img,input
4)none:隐藏元素, 此元素不会被显示。
5)list-item:将元素转换成列表。li的默认类型。
6)当元素设置了float属性后,就相当于该元素加了display:block;
注:A、大部分块元素display属性值默认为block,其中li列表的默认值为list-item。
B、大部分内联元素的display属性值默认为inline,其中img,input,默认为inline-block。
三、inline-block元素类型的应用
Inline-block行内块元素显示:元素的内容以块状显示,行内的其他元素显示在同一行。
(此元素类型可以支持vertical-align属性)img,input
垂直对齐方式{vertical-align:top(元素的顶端与行中最高的元素顶端对齐)/bottom元素的底端与行中最低的元素底端对齐/middle/sub(与父元素的下标字体基线对齐)/super(与父元素的上标字体基线对齐)/text-top(与父元素的字体顶端对齐)/text-bottom(与父元素的字体底端对齐);}
四置换和非置换元素的概念
拓展:
置换元素/替换元素 概念:一个内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,这些元素往往没有实际的内容,即是一个空元素,置换元素就是浏览器根据元素的属性和属性值,来决定元素的具体显示内容。大部分的置换元素的元素类型为inline-block;被称之为置换元素。HTML中的img、input都是置换元素。 例如浏览器会根据img标签的src属性的值来读取图片信息并显示出来。 又例如根据input标签的type属性来决定是显示输入框,还是单选按钮等。 非置换元素/不可置换元素 :HTML中除了可替换元素外,其它都是不可替换元素(即其内容直接表现给用户端例如浏览器)
好程序员web前端分享CSS元素类型的更多相关文章
- 好程序员web前端分享css常用属性缩写
		
好程序员web前端分享css常用属性缩写,使用缩写可以帮助减少你CSS文件的大小,更加容易阅读.css缩写的主要规则如下: 颜色 16进制的色彩值,如果每两位的值相同,可以缩写一半,例如: #0000 ...
 - 好程序员web前端分享CSS基础篇
		
学习目标 1.CSS简介 2.CSS语法 3.样式的创建 4.两种引入外部样式表的区别 5.样式表的优先级和作用域 6.CSS选择器 7.选择器的权重 8.浮动属性的简单应用 9.HTML.CSS注释 ...
 - 好程序员web前端分享12个CSS高级技巧汇总
		
好程序员web前端分享下面这些CSS高级技巧,一般人我可不告诉他哦. 使用 :not() 在菜单上应用/取消应用边框 给body添加行高 所有一切都垂直居中 逗号分隔的列表 使用负的 nth-chil ...
 - 好程序员web前端分享18个用CSS制作出来的东西
		
好程序员web前端分享18个用CSS制作出来的东西,与流行的看法相反,CSS不仅仅是用来提供一个WEB页面的基本风格,以使它看起来更有吸引力.还有很多其他的事情,CSS也可以做的很好.由于它创建动画和 ...
 - 好程序员web前端分享值得参考的css理论:OOCSS、SMACSS与BEM
		
好程序员web前端分享值得参考的css理论:OOCSS.SMACSS与BEM 最近在The Sass Way里看到了Modular CSS typography一文,发现文章在开头部分就提到了OOCS ...
 - 好程序员web前端分享HTML基础篇
		
好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...
 - 好程序员web前端分享想要学习前端需要学那些课程
		
好程序员web前端分享想要学习前端需要学那些课程,仔细思考了一下如何回答好这个话题,其实前端是一个涵盖面非常之广泛的一个职位,所需知识体系非常庞杂,与传统语言“想要精一行,必先通一门” 有很大差别, ...
 - 好程序员web前端分享javascript关联数组用法总结
		
好程序员web前端分享javascript关联数组用法总结,有需要的朋友可以参考下. Hash关联数组定义 代码如下 // 定义空数组 myhash = { } // 直接定义数组 myhash = ...
 - 好程序员web前端分享如何理解JS的单线程
		
好程序员web前端分享如何理解JS单线程,JS本质是单线程的.也就是说,它并不能像JAVA语言那样,两个线程并发执行. 但我们平时看到的JS,分明是可以同时运作很多任务的,这又是怎么回事呢? 首先,J ...
 
随机推荐
- 在Mac系统下如何恢复SourceTree全局忽略的文件
			
在家目录“~”下编辑 “.gitignore_global ” 文件即可:vim .gitignore_global
 - wap手机端按下 松开 滑动事件
			
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
 - idea debug的时候 启动起来超级慢
 - maven学习6 Eclipse下Tomcat常用设置
			
Eclipse下Tomcat常用设置 1,Eclipse建立Tomcat服务 1.1 新建Server 首先这里是指,jee版的Eclipse.Eclipse是没有像MyEclipse那样集成Tomc ...
 - iOS中的数据存储
			
SQLite3 SQLite3是一款开源的嵌入式关系型数据库,可移植性好,易使用,内存开销小. SQLite3是无类型的,意味着你可以保存任何类型的数据到任意表的任意字段中. SQLite3常用的4种 ...
 - mui封装的ajax请求
			
由于项目中引进MUI框架,所以就不需要引进jquery,但需要和后台交互时,常写为jquery格式:所以笔者觉得有必要将mui封装的ajax请求在这里提一下: 1,mui框架基于htm5plus的XM ...
 - IE9以及IE9以下,无法执行innerHTML这一操作的解决方法
			
例如:在select下无法用innerHTML添加<option> 解决代码: var s=document.createElement("option"); s.te ...
 - mysql in 方法查询 按照 in队列里的顺序排序
			
String sql ' GROUP BY comm " + "order by field(comm,?,?,?,?,?,?,?,?)"; stmt = conn.pr ...
 - 进程与进程之间通信Manager
			
#!/usr/bin/env python from multiprocessing import Process,Manager #Manager进程与进程之间通信 def Foo(i,dic): ...
 - day17 9.关闭资源与异常处理
			
Java程序跟任何外部设备进行连接之后,都要把连接断开,把资源释放掉.Connection是一个重量级资源,Connecton占内存,Connection的获取是比较消耗资源和内存的.finally是 ...