块元素

块元素,也可以称为行元素,布局中常用的标签如: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. Django-Web框架之创建项目和应用

    Django我们是基于python3来演示的.首先我们来安装一下django框架.使用pip3 install django安装的是最新的版本: 我们在pycharm中创建django工程.如图所示: ...

  2. javascript总结13:循环语句

    1 While循环 While(条件表达式){ 只要条件表达式结果为true,循环一直执行,当条件表达式结果为false的时候,循环终止 } While循环语句需现在循环体外定义变量. 2 for循环 ...

  3. c# 读取txt文档和写入文档的方法

    StreamReader sr = new StreamReader(path); //path是要读取的文件的完整路径 String str_read = sr.ReadToEnd(); //从开始 ...

  4. Qt绘制简单的风向玫瑰图代码

    1.绘制简单的风向玫瑰图代码2.主要使用QPainter3.在子widget上绘制需要使用widget监视事件 eventfilter update();//更新界面 //镜头12 QPainter ...

  5. Hexo基本使用

    1. 简述 Hexo是一个基于Node.js的博客系统,常用于搭建在GitHub上. 其本质其实是一个基于Node.js的内嵌webserver的程序,可以通过一些命令根据markdown生成静态页面 ...

  6. SpringMVC+Hibernate 项目开发之二 (STS整合Maven)

    为什么用STS不用Eclipse,主要是Eclipse集成Maven把我整疯了,最后估计原因除在网速上了. 其实用了STS以后发现还真比Eclipse好用点. STS本身集成有Maven的,但是默认的 ...

  7. Agreement has been updated--Edit Phone Number最便捷解决办法(不需要安全提示问题和双重认证)

    2018年06月04日亲测有效: CSDN博客跳转网址:

  8. 前端中onload与ready的区别

    Jquery的ready()与Javascrpit的load() 1 window.onload() $(document).ready() 加载时机 必须等待网页全部加载完毕(包括图片等),然后再执 ...

  9. ClickOnce发布包含某文件

    第一步.在文件上右键选择“属性”,“复制到输出目录”选择“始终复制”: 第二步.“生成操作”选择“选择”: 第三步.通过 项目右键属性-发布-应用程序文件 查看想要包含的文件是否包含进来了. 注:可以 ...

  10. UX | 最小可行性技能

    简评:本文介绍了最小 UX 需要技能(可以看成设计版 MVP),包括用不同视角看事情,从回馈中学习等等 ~ 呐,可能刚入门设计的时候,会让一堆工具弄得眼花缭乱.其实呢,并不一定要每样都会使用,举一反三 ...