传统css布局方案(position,float,line-height等配合)

摘要:
3、 floatfloat属性定义元素浮动的方向。常见的属性值是左和右,即左浮动和右浮动。

一、display

display 是 css 布局中很重要的一个属性,它定义了元素生成的显示框类型,常见的几个属性值有:blockinlineinline-blockinheritnoneflex。inherit 表示这个元素从父元素继承 display 属性值;none 表示这个元素不显示,也不占用空间位置;flex 是 flex 布局重要的属性设置,我们留到后面详细讲解,这边先介绍前面三个属性值。

每个元素都有默认的 display 属性,比如 div 标签的默认 display 属性是 block,我们通常称这类元素为块级元素;span 标签的默认 display 属性是 inline,我们通常称这类元素为行内元素,我们先通过下面的代码示例来看下两者的区别。

块级元素
没有设置宽度时,它的宽度是其容器的 100%;
可以给块级元素设置宽高、内边距、外边距等盒模型属性;
块级元素可以包含块级元素和行内元素;
常见的块级元素:<div><h1> ~ <h6><p><ul><ol><dl><table><address><form> 等。
 
行内元素(内联元素)
行内元素不会独占一行,只会占领自身宽高所需要的空间;
给行内元素设置宽高不会起作用,margin 值只对左右起作用,padding 值也只对左右起作用;
行内元素一般不可以包含块级元素,只能包含行内元素和文本;
常见的行内元素 <a><b><label><span><img><em><strong><i><input> 等。
 
给行内元素设置宽高不起作用,设置 margin、padding 只有左右起作用
 

内联块级元素

宽度由内容撑开,只占据自己的位置,可以设置自己的宽度(两个人的孩子?),display:inline-block

 
img标签
细心的你可能会发现,给 img 标签设置宽高是可以影响图片大小的,这是因为 img 是可替代元素,可替代元素具有内在的尺寸,所以宽高可以设定。
html 中的 input、button、textarea、select 都是可替代元素,这些元素即使是空的,浏览器也会根据其标签和属性来决定显示的内容。

二、position

在布局中很重要的因素就是定位,position 属性就是用来定义元素的定位机制。position 的常用属性值有:

relative:相对定位,相对于元素的正常位置进行定位;
absolute:绝对定位,相对于除 static 定位以外的元素进行定位;
fixed:固定定位,相对于浏览器窗口进行定位,网站中的固定 header 和 footer 就是用固定定位来实现的;
static:默认值,没有定位属性,元素正常出现在文档流中;
inherit:继承父元素的 position 属性值。

上文出现了文档流(normal flow)的概念,按理来说应该翻译成普通流,文档流是大多数人的叫法。“流”可以想象成流动的水,当我们打开屏幕,浏览网页,滚动鼠标,网页的内容就像是水流一样滑过。文档流便是指从上到下,从左往右的文档布局。当我们给元素的 positon 属性设置 absolute、fixed 时便会脱离文档流,不再遵循从上到下,从左到右的规律了。

三、float

float 属性定义元素在哪个方向浮动,常用属性值有 left、right,即向左浮动和向右浮动。设置了 float 的元素,会脱离文档流,然后向左或向右移动,直到碰到父容器的边界或者碰到另一个浮动元素。块级元素会忽略 float 元素,文本和行内元素却会环绕它,所以 float 最开始是用来实现文字环绕效果的。
清除浮动方案1:通过添加额外的标签,利用 clear 属性来清除浮动
清除浮动方案2:使用 br 标签,br 自带 clear 属性,clear 属性有 left、right 和 all 三个属性值可选。
清除浮动方案3:给父元素设置 overflow

出处:https://www.jianshu.com/p/914b76bae7b5

免责声明:文章转载自《传统css布局方案(position,float,line-height等配合)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇PHP生成一个不重复随机数组的封装方法dubbo问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

关于在html 当中,换行的css样式总结

近在做web相关的项目,在项目当中遇到了相关的文字较长的时候出现超出页面显示的问题,所以要进行换行操作,在这里总结一下。 <style type="text/css"> /* 强制不换行 */ .nowrap{white-space:nowrap;} /* 允许单词内断句,首先会尝试挪到下一行,看...

Delphi中Form的position属性与代码自定义窗体位置

通过Form的Position属性可设置窗体的初始位置,如选择DesktopCenter为桌面中心,ScreenCenter为屏幕中心,等等。 这个属性在很多时候简化了程序代码。 但是,如果设置了position为ScreenCenter和DesktopCenter等,在窗体oncreate和onshow事件中使用代码控制窗体的位置就会不成功了,无论设置S...

CSS变量variable

前面的话 一直以来,CSS中是没有变量而言的,要使用 CSS 变量,只能借助 SASS 或者 LESS 这类预编译器。新的草案发布之后,直接在 CSS 中定义和使用变量不再是幻想了。本文将详细介绍CSS变量variable 基本用法 CSS 变量是由CSS作者定义的实体,其中包含要在整个文档中重复使用的特定值。使用自定义属性来设置变量名,并使用特定的var...

css实现div中图片高度自适应并与父级div宽度一致

需求:1.父级div不设置高度    2.图片高度自适应,并且显示为正方形; 以前遇到列表中图片高度必须和父级宽度相同,并且需要为正方形的时候,最开始的方法是定死图片高度,这样会导致不同分辨率下图片会压缩,后来傻傻的用js来控制图片的高度,直到现在才明白几句css就能搞定,并且完全符合要求。。。。。。 例子: 1.html <ul>...

移动端css、Js优处理

CSS 篇 0.5px细线 移动端 H5 项目越来越多,设计师对于 UI 的要求也越来越高,比如 1px 的边框。在高清屏下,移动端的 1px 会很粗。 那么为什么会产生这个问题呢?主要是跟一个东西有关,DPR(devicePixelRatio) 设备像素比,它是默认缩放为 100%的情况下,设备像素和 CSS 像素的比值。目前主流的屏幕 DPR=2(...

Xitrum学习笔记10

在磁盘上的静态文件(Static Files) Xitrum项目路径结构 config public favicon.ico robots.txt 404.html 500.html img myimage.png css mystyle.css js myscript.js src build.sbt...