我的编程空间,编程开发者的网络收藏夹
学习永远不晚

css如何实现元素水平排列

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

css如何实现元素水平排列

这篇文章将为大家详细讲解有关css如何实现元素水平排列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

    第一种:display:inline-block

    首先得先了解块级元素(blockelements)和行内元素(inlineelements)

    块级元素:块级元素包含widthheight,padding,border与margin,他们的排列方式是从上到下排列,常见的块级元素有div,p,form,ul等等。

    行内元素:高度和宽度由内容决定,自身没法设定固定的大小,不存在垂直方向的margin和padding,排列方式是水平排列,行内元素在html所有元素占大多数,比如a,span,label,button,img,input......

    这里可能有人会产生疑问,“button和img以及input等标签可以设置宽度和高度也可以设置margin与padding,为什么它确实行内元素呢?”其实html元素主要有两种划分方式,分别是“块级元素与行内元素”,“替换元素与不可替换元素”。上面介绍了第一种划分方式,下面介绍一下第二种划分方式:

    替换元素:通俗的理解就是具有width和height属性的元素。替换元素类似于display:inline-block元素,可以设置高宽与内外边距,主要包括img,input,textarea,select,object,audio和canvas在某些特定情形下为替换元素。

    不可替换元素:除了替换元素剩下的都是不可替换元素(O(∩_∩)O)

    扯了一大堆,我们知道display:inline-block可以让元素横向排列,但是这种布局可能会存在一点点小问题,举栗子:

    <style>

    div{

    display:inline-block;width:200px;height:200px;

    }

    .div1{

    background:green;

    }

    .div2{

    background:red;

    }

    </style>

    <divclass="div1">左边</div>

    <divclass="div2">右边</div>

    这是我们发现两个div之间存在一个空隙,这是为什么呢?

    浏览器会将换行符,缩进符,以及空格当做一个空格来处理,即使暗恋两次空格,或者一个换行加一个空格,等等都会解析成一个空格使用。这个空格的大小则是font-size/2大小。去除这个空隙有很多办法。

    1.设置div2的margin-left:-font-size/2

    2.设置两个div的父标签的font-size:0

    3.设置负的word-spacing

    第二种:float:left/right

    float属性可以让元素脱离常规文档流,沿着容器的左侧或者右侧进行水平排列。

    这种方式可以说是用的最多的,但是有个问题,在自适应布局中一般不会固定元素的高宽,会根据内容大小来自动调整,这是如果子元素都是浮动元素的话就会存在高度塌陷。

    举栗子

    <style>

    span{

    float:left;width:200px;height:200px;

    }

    .box1{

    background:green;

    }

    .box2{

    background:red;

    }

    </style>

    <div>

    <spanclass="box1">左边</span>

    <spanclass="box2">右边</span>

    </div>

    这里将上一个栗子中的子元素div故意改成了span,其实想表达float可以将元素隐式的转换成block元素(position:absolute/fixed亦可),所以自然就可以设置宽度和高度。

    那么盒子水平排列之后存在什么问题呢?没错!父容器高度塌陷。这时父容器div的高度为0,因为浮动元素会脱离常规文档流,它的父容器计算高度时会忽略它。这是我们不想看到的,因为这个高度塌陷的DIV后面如果还有其它常规流标签的话,那么页面就会出现错乱等不想看到的结果。

    解决办法自然就是清除浮动,主要通过两种方式清除浮动:

    1.clear:left/right/both,专门用来清除浮动的CSS。

    2.BFC,因为BFC有一条规则“计算BFC的高度时,浮动元素也参与计算”。

    说一下用clear清除浮动的几种方法:

    1.最后一个子元素后面加一个空标签,然后设置其样式clear:both。

    2.在最后一个浮动子元素中,利用伪元素::after,添加clear样式清除浮动

    第三种:table布局

    这种布局方式其实不常用,因为它存在种种问题。

    渲染速度较慢

    增加html代码量,不易维护

    标签的名字不符合html语义化,table本来就是做表格用的,拿来布局甚是不妥

    标签结构较死,后期修改成本较高

    等等,此处不作过多阐述。总之,尽量用table布局

    第四种:绝对定位

    这种方式日常开发中用的也较多,前面提到float可以让元素脱离常规文档流,这里position:absolute/fixed也具有同样的效果,处理办法在float布局中已经提到了,这里搬来即可。

    这里要说一下position:absolute绝对定位,以它的第一个父级并且是position:absolute/relative/fixed等飞static定位的元素为基点进行定位,如果找不到则以根元素为基准进行定位。一般都是采用父元素position:ralative,子元素position:absolute结合使用。

    第五种:css3的弹性布局

    弹性布局因为其兼容性所以还没有得到广泛的认可,不过我觉得以后它肯定会独占鳌头,就跟我看好html的视频播放器一样,早晚都会干败flash,只是时间问题!!!

    第六种:transform:translate

    CSS3中用于动画的一个样式,但是他可是让两个元素横向排列,这里不多说直接上代码,请用谷歌浏览器运行一下:

    <style>

    div{

    width:200px;height:200px;

    }

    .box1{

    background:green;

    }

    .box2{

    transform:translateX(200px)translateY(-200px);

    background:red;

    }

    </style>

    <div>

    <divclass="box1">左边</div>

    <divclass="box2">右边</div>

    </div>


关于“css如何实现元素水平排列”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

css如何实现元素水平排列

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CSS如何实现子元素div水平垂直居中

本文将为大家详细介绍“CSS如何实现子元素div水平垂直居中”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS如何实现子元素div水平垂直居中”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容
2023-06-08

CSS如何实现宽度的块级元素水平居中

本篇内容主要讲解“CSS如何实现宽度的块级元素水平居中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS如何实现宽度的块级元素水平居中”吧!确定宽度的块级元素的水平居中是通过设置margin-
2023-07-05

css怎么实现元素水平垂直居中

小编给大家分享一下css怎么实现元素水平垂直居中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、父元素的flex布局实现元素的水平垂直居中示例代码如下:
2023-06-08

css如何让浮动的元素水平居中

这篇文章主要介绍“css如何让浮动的元素水平居中”,在日常操作中,相信很多人在css如何让浮动的元素水平居中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何让浮动的元素水平居中”的疑惑有所帮助!接下来
2023-06-04

CSS布局技巧:如何实现水平垂直居中的网页元素

在网页设计和开发中,实现元素的水平垂直居中是经常会遇到的问题。无论是居中显示一张图片、一个文本框,还是整个页面的居中布局,正确的使用CSS布局技巧可以轻松实现这个效果。本文将介绍一些实现水平垂直居中的常用CSS方法,并提供具体的代码示例。一
2023-10-21

CSS如何​文本,图片等行内元素的水平居中

这篇“CSS如何文本,图片等行内元素的水平居中”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS如何文本,图片等行内元素的
2023-07-05

css如何实现元素水平居中显示与固定布局和流式布局

这篇文章给大家分享的是有关css如何实现元素水平居中显示与固定布局和流式布局的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先,要 让元素水平居中,就必须得了解css设计中固定布局和流式布局两者的概念。它们之间的
2023-06-08

vue如何实现两列水平时间轴

这篇文章给大家分享的是有关vue如何实现两列水平时间轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:先上图,主要实现两列水平时间轴,查看了很多人实现的,水平只有一列,并且elementUI的时间轴只有竖
2023-06-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录