iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >css如何实现元素水平排列
  • 115
分享到

css如何实现元素水平排列

2024-04-02 19:04:59 115人浏览 独家记忆
摘要

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

这篇文章将为大家详细讲解有关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,audiocanvas在某些特定情形下为替换元素。

    不可替换元素:除了替换元素剩下的都是不可替换元素(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如何实现元素水平排列”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: css如何实现元素水平排列

本文链接: https://www.lsjlt.com/news/91525.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • css如何实现元素水平排列
    这篇文章将为大家详细讲解有关css如何实现元素水平排列,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。     第一种:display:inline-...
    99+
    2022-10-19
  • CSS中怎么实现元素水平居中
    本篇文章为大家展示了CSS中怎么实现元素水平居中,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSS常见的让元素水平居中显示方法用CSS让元素居中显示并不是件很简单...
    99+
    2022-10-19
  • CSS如何实现子元素div水平垂直居中
    本文将为大家详细介绍“CSS如何实现子元素div水平垂直居中”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“CSS如何实现子元素div水平垂直居中”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容...
    99+
    2023-06-08
  • css怎么实现元素水平垂直居中
    小编给大家分享一下css怎么实现元素水平垂直居中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、父元素的flex布局实现元素的水平垂直居中示例代码如下:<...
    99+
    2023-06-08
  • CSS如何实现宽度的块级元素水平居中
    本篇内容主要讲解“CSS如何实现宽度的块级元素水平居中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS如何实现宽度的块级元素水平居中”吧!确定宽度的块级元素的水平居中是通过设置margin-...
    99+
    2023-07-05
  • css如何让浮动的元素水平居中
    这篇文章主要介绍“css如何让浮动的元素水平居中”,在日常操作中,相信很多人在css如何让浮动的元素水平居中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何让浮动的元素水平居中”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • css如何实现多个容器按照相同间距水平排列
    这篇文章主要为大家展示了“css如何实现多个容器按照相同间距水平排列”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css如何实现多个容器按照相同间距水平排列”这...
    99+
    2022-10-19
  • BootStrap中如何实现单选按钮水平排列
    这篇文章主要介绍了BootStrap中如何实现单选按钮水平排列,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.运行效果如图所示2.实现代码...
    99+
    2022-10-19
  • python如何实现列表元素排列组合
    这篇文章主要为大家展示了“python如何实现列表元素排列组合”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何实现列表元素排列组合”这篇文章吧。列...
    99+
    2022-10-19
  • CSS布局技巧:如何实现水平垂直居中的网页元素
    在网页设计和开发中,实现元素的水平垂直居中是经常会遇到的问题。无论是居中显示一张图片、一个文本框,还是整个页面的居中布局,正确的使用CSS布局技巧可以轻松实现这个效果。本文将介绍一些实现水平垂直居中的常用CSS方法,并提供具体的代码示例。一...
    99+
    2023-10-21
    水平居中 垂直居中 CSS布局
  • css如何实现元素在当前浏览器中垂直水平居中
    这篇文章给大家分享的是有关css如何实现元素在当前浏览器中垂直水平居中的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。元素在当前浏览器中垂直水平居中  body{   backgr...
    99+
    2022-10-19
  • JavaScript如何实现数组元素倒序排列
    小编给大家分享一下JavaScript如何实现数组元素倒序排列,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2022-10-19
  • CSS设置绝对定位元素实现水平居中代码分享
    本篇内容介绍了“CSS设置绝对定位元素实现水平居中代码分享”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • CSS中如何实现水平对齐
    CSS中如何实现水平对齐,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。对齐块元素 块元素指的是占据全部可用宽度的元素,并且在其前后都会换行。 ...
    99+
    2022-10-19
  • css如何实现水平导航栏
    这篇文章给大家分享的是有关css如何实现水平导航栏的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 水平导航栏 有两种创建水平导航栏的方法。使用行内或浮动列表项。 两种方法都...
    99+
    2022-10-19
  • CSS如何​文本,图片等行内元素的水平居中
    这篇“CSS如何文本,图片等行内元素的水平居中”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“CSS如何文本,图片等行内元素的...
    99+
    2023-07-05
  • css如何实现元素水平居中显示与固定布局和流式布局
    这篇文章给大家分享的是有关css如何实现元素水平居中显示与固定布局和流式布局的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先,要 让元素水平居中,就必须得了解css设计中固定布局和流式布局两者的概念。它们之间的...
    99+
    2023-06-08
  • css如何使用flexbox布局容器内多元素水平居中
    小编给大家分享一下css如何使用flexbox布局容器内多元素水平居中,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!想要实现这样一个父元素中的子元素都是居中的只需在父元素上加样式{disp...
    99+
    2022-10-19
  • vue如何实现两列水平时间轴
    这篇文章给大家分享的是有关vue如何实现两列水平时间轴的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:先上图,主要实现两列水平时间轴,查看了很多人实现的,水平只有一列,并且elementUI的时间轴只有竖...
    99+
    2023-06-25
  • 如何使用CSS实现水平垂直居中
    小编给大家分享一下如何使用CSS实现水平垂直居中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!     仅...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作