块元素

块元素,也可以称为行元素,布局中常用的标签如:div、p、ul、li、h1~h6、dl、dt、dd等等都是块元素,它在布局中的行为:
1、支持全部的样式。
2、如果没有设置宽度,默认的宽度为父级宽度100%。
3、盒子占据一行、即使设置了宽度。
内联元素

内联元素,也可以称为行内元素,布局中常用的标签如:a、span、em、b、strong、i等等都是内联元素,它们在布局中的行为:
1、支持部分样式(不支持宽、高、margin 上下、padding 上下)。
2、宽高由内容决定。
3、盒子并在一行。
4、代码换行,盒子之间会产生间距。
5、子元素是内联元素,父元素可以用 text-align 属性设置子元素水平对齐方式,用 line-height 属性值设置垂直对齐方式。
解决内联元素间隙的方法
1、去掉内联元素之间的换行。
2、将内联元素的父级设置 font-size 为0,内联元素自身再设置 font-size。
内联块元素

内联块元素,也叫行内块元素,是新增的元素类型,现有元素没有归于此类别的,img 和 input 元素的行为类似这种元素,但是也归类于内联元素,我们可以用 display 属性将块元素或者内联元素转化成这种元素。它们在布局中表现的行为:
1、支持全部样式。
2、如果没有设置宽高,宽高由内容决定。
3、盒子并在一行。
4、代码换行,盒子会产生间距。
5、子元素是内联块元素,父元素可以用 text-align 属性设置子元素水平对齐方式,用 line-height 属性值设置子元素垂直对齐方式。
这三种元素,可以通过 display 属性来相互转化,不过实际开发中,块元素用得比较多,所以我们经常把内联元素转化为块元素,少量转化为内联块,而要使用内联元素时,直接使用内联元素,而不用块元素转化了。
display属性

display 属性是用来设置元素的类型及隐藏的,常用的属性有:
1、none:元素隐藏且不占位置。
2、block:元素以块元素显示,将行级转成块级元素。
3、inline:元素以内联元素显示。
4、inline-block:元素以内联块元素显示。
浮动
文档流

文档流,是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置。
浮动特性

1、浮动元素有左浮动(float:left)和右浮动(float:right)两种。
2、浮动的元素会向左或向右浮动,碰到父元素边界、浮动元素、未浮动的元素才停下来。
3、相邻浮动的块元素可以并在一行,超出父级宽度就换行。
4、浮动让行内元素或块元素自动转化为行内块元素。
5、浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果。
6、父元素内整体浮动的元素无法撑开父元素,需要清除浮动。
7、浮动元素之间没有垂直 margin 的合并。
清除浮动

1.父级上增加属性 overflow:hidden。
2.在最后一个子元素的后面加一个空的 div,给它样式属性 clear:both(不推荐)。
3.使用成熟的清浮动样式类,clearfix。

.clearfix:after,.clearfix:before{ content: "";display: block;}
.clearfix:after{ clear:both;}
.clearfix{zoom:1;}

1
    2
    3

定位
关于定位

我们可以使用 css 的 position 属性来设置元素的定位类型,postion 的设置项如下:
1、relative:生成相对定位元素,元素所占据的文档流的位置不变,元素本身相对文档流的位置进行偏移
2、absolute:生成绝对定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了相对或者绝对或者固定定位的父级元素来进行定位,如果找不到,则相对于 body 元素进行定位。
3、fixed:生成固定定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位。
4、static:默认值,没有定位,元素出现在正常的文档流中,相当于取消定位属性或者不设置定位属性
5、inherit:从父元素继承 position 属性的值

相对的理解:
    相对上级,如果上级或者上级的上级设置了position,相对于它。
    如果都没有设置 position,相对于 body。

定位元素特性

绝对定位和固定定位的块元素和行内元素会自动转化为行内块元素
定位元素层级

定位元素是浮动的正常的文档流之上的,可以用 z-index 属性来设置元素的层级
典型定位布局

1、固定在顶部的菜单
2、水平垂直居中的弹框
3、固定的侧边的工具栏
4、固定在底部的按钮
---------------------
作者:猫狗双全
来源:CSDN
原文:https://blog.csdn.net/op0912036/article/details/82532532
版权声明:本文为博主原创文章,转载请附上博文链接!

转帖 css的块元素、内联元素、内联块元素、display属性、浮动、定位的更多相关文章

  1. css中margin重叠和一些相关概念(包含块containing block、块级格式化上下文BFC、不可替换元素 non-replaced element、匿名盒Anonymous boxes )

    平时在工作中,总是有一些元素之间的边距与设定的边距好像不一致的情况,一直没明白为什么,最近仔细研究了一下,发现里面有学问:垂直元素之间的margin有有互相重叠的情况:新建一个BFC后,会阻止元素与外 ...

  2. CSS学习笔记:display属性

    目录 一.display属性概述 1. 块级元素和行内元素的区别 2.常见的块级元素和行内元素 3. display属性常见的属性值 二.测试display取各属性值的效果 1. 测试inline和b ...

  3. [19/06/05-星期三] CSS基础_样式表的位置(内联、内部、外部样式)、块元素(div)、内联元素(span)、常用的选择器

    一.概念 CSS(Cascading Style Sheets,层叠样式表) 可以用来为网页创建样式表,通过样式表可以对网页进行装饰. 所谓层叠,就是可以将整个网页想象成是一层一层的结构,层次高的将会 ...

  4. CSS.02 -- 样式表 及标签分类(块、行、行内块元素)、CSS三大特性、背景属性

    样式表书写位置  内嵌式写法 <head> <style type="text/css"> 样式表写法 </style> </head&g ...

  5. 【css】主要的块状元素(block element)和内联元素(inline element行内元素)

      内联元素:只在行内发生作用,设置宽高不起作用,不会影响文字内容,使其换行等.竖直方向和间距也不起作用   display可以强制转换行内元素和块状元素,还可以取消显示none   块元素(bloc ...

  6. web兼容学习分析笔记--块级、内联、内联块级元素

    一.块级.内联.内联块级元素 (1)块级元素:block **独占一行 **可设置width,height,margin,padding **内部可包含块级或内联元素 (3)内联(行内)元素:inli ...

  7. html的块级、内联、内联块级元素基础

    概念 块级:block 内联:inline 内联块级:inline-block 在html元素中,元素会有display属性 display属性默认值是block,那么该元素是块级元素. displa ...

  8. html元素类型 块级元素、内联元素(又叫行内元素)和内联块级元素。

    html中的标签元素大体被分为三种不同的类型:块级元素.内联元素(又叫行内元素)和内联块级元素. 块级元素特点: 1.每个块级元素都从新的一行开始,并且其后的元素也另起一行.(霸道,一个块级元素独占一 ...

  9. HTML元素被定义为块级元素或内联元素。那么什么是块级元素,什么是内联元素呢

    块级元素(block)特性: 块级元素在浏览器显示时,通常会以新行来开始(和结束). 宽度(width).高度(height).内边距(padding)和外边距(margin)都可控制;就像以前用到的 ...

随机推荐

  1. keydown、input 和 keyup 事件

    keydown.keyup 属于键盘事件,input 属于文本事件. keydown:当用户按下键盘上的任意按键时触发,如果按住不放,会重复触发此事件. keyup:当用户释放键盘上的按键时触发. i ...

  2. 常用Linux命令:netstat

    一.netstat:显示各种网络相关信息 1.命令格式 netstat [参数] 2.常用参数 -a   :(all)显示所有选项,默认不现实LISTEN相关 -t    :(tcp)仅显示tcp相关 ...

  3. POJ3041 Asteroids(二分图最小点覆盖)

    Description Bessie wants to navigate her spaceship through a dangerous asteroid field in the shape o ...

  4. UltraEdit 回车符替换空格

    查找和替换    输入 ^r^n   替换为:(空格)

  5. T-SQL查询进阶--理解SQL Server中索引的概念,原理

    简介 在SQL Server中,索引是一种增强式的存在,这意味着,即使没有索引,sql server仍然可以实现应有的功能,但索引可以在大多数情况下提升查询性能,在OLAP(On line Trans ...

  6. 八、Node.js-http模块

    JS代码如下: /* 如果我们使用PHP来编写后端的代码时,需要Apache 或者 Nginx 的HTTP 服务器,并配上 mod_php5 模块和php-cgi,来处理客户端的请求相应. 不过对 N ...

  7. Invalid App Store Icon. The App Store Icon in the asset catalog in 'xxx.app' can’t be transparent nor contain an alpha channel.

    1.向appstore上传应用的时候,报了这样一个错误 ERROR ITMS-90717: "Invalid App Store Icon. The App Store Icon in th ...

  8. python-列表增删改查、排序、两个list合并、多维数组等

    一.list列表 数组 列表类型:list 下标从0开始,0,1,2... 二.列表增加元素 stus.append() 在列表末尾增加一个元素: stus.insert(,)  在指定位置添加一个元 ...

  9. 【spring boot】FilterRegistrationBean介绍

    前言 以往的javaee配置过滤器是在web.xml中配置的,如下代码 <filter> <filter-name>TestFilter</filter-name> ...

  10. django 部署到Ubuntu-apache2遇到的问题汇总

    1.x86_64-linux-gnu-gcc: error: unrecognized command line option ‘-fstack-protector-strong’ Turns out ...