CSS布局方式--inline-block 布局

布局其实就是想办法怎样将一些元素横向的排列起来,纵向由于块级元素的存在会自动占据一行。

inline-block 元素会占据一行而且可以调整宽高很适合将这些元素排列在一行,而且使用 inline-block 元素排列没有清除浮动这样的问题。

但是,使用 inline-block 布局两个元素之间会有一个空白间隙,下面一起来看一下。

html代码

<div class="container">
  <div class="left">
    left
  </div>
  <div class="right">
    right
  </div>
</div>

css 代码

.container {
  width: 800px;
  height: 200px;
  /*font-size: 0;*/
}
.left {
  /*font-size: 14px;*/
  background-color: red;
  display: inline-block;
  width: 200px;
  height: 200px;
}
.right {
  /*font-size: 14px;*/
  background-color: blue;
  display: inline-block;
  width: 600px;
  height: 200px;
}

结果如下:

按道理说,container 的宽度正好等于 left 和 right 的宽度之和,应该并列在一起,但是没有,现在我们减小一些 right 的宽度,将 right 的宽度设置为 500 px,结果如下

会发现中间有一个空白的间隙,这是为什么呢?

因为现在使用的是 inline-block 元素,为了方便理解,可以将 inline-block 元素看成是两个文字,文字与文字之间不可能是连在一起的,肯定是有间隙的。

既然知道了是文字的问题,那我们就将父元素 container 的字体大小设置为 0,可是这个时候会发现 left 和 right 这两个单词也没有了,这是因为 left 和 right 元素继承了父级元素的字体大小,这时候我们只需要分别设置 left 和 right 元素的字体大小即可。

将 css 代码修改如下

.container {
  width: 800px;
  height: 200px;
  font-size: 0; /* 新增 */
}
.left {
  font-size: 14px; /* 新增 */
  background-color: red;
  display: inline-block;
  width: 200px;
  height: 200px;
}
.right {
  font-size: 14px; /* 新增 */
  background-color: blue;
  display: inline-block;
  width: 600px;
  height: 200px;
}

结果如下

上面是一种方法,下面可以从 html 代码的角度来解决这个问题。

引起上面间隙的根本原因是由于 left 元素和 right 元素代码之间不是紧挨着的导致中间有间隙,可以将 html 代码改成下面这样:

<div class="container">
  <div class="left">
    left
  </div><div class="right">
    right
  </div>
</div>
<!-- 或利用注释的方式 -->
<div class="container">
  <div class="left">
    left
  </div><!--
--><div class="right">
  right
  </div>
</div>

结果如下

完,后续还会总结一下flex布局,float布局,table 表格布局等 CSS 布局方式。
如有不恰当之处,欢迎指正哦.

原文地址:https://www.cnblogs.com/zhangguicheng/p/12148046.html

时间: 2024-08-01 22:39:14

CSS布局方式--inline-block 布局的相关文章

布局方式以及一些布局常用方法

前端页面的布局方式常用到的大概有三种方式分别为普通文档流布局.浮动布局和绝对布局.下面将分别介绍着三类布局. a.普通布局:前端中用到的标签主要分为块级标签(display:blcok)和行级标签(display:inline).块级标签为必须占一行的标签元素,后面的元素必须在下一行显示:行级标签是显示时后面的行级元素紧跟着前一个行级标签显示.普通布局是在按照这些元素的特性进行界面的布局,从左到右,从上到下的顺序进行.另:普通元素的position为static. b.浮动布局:浮动布局包括左右

布局方式-表格布局

普通的表格布局 <style> .table { display: table; width: 800px; height: 200px; } .table-row { display: table-row; } .table-cell { vertical-align: middle; display: table-cell; } .left { background: red; } .right { background: blue; } </style> <body&g

css常见布局方式

布局是CSS中一个重要部分,下面总结了CSS布局中的常用技巧,包括常用的水平居中.垂直居中方法,以及单列布局.多列布局的多种实现方式(包括传统的盒模型布局和比较新的flex布局实现). 一.居中方式 水平居中 水平居中对于子元素为行内元素还是块状元素,宽度一定还是宽度未定,采取的布局方案是不同. 行内元素:对父元素设置text-align:center;定宽块状元素: 设置左右margin值为auto;不定宽块状元素: 设置子元素为display:inline,然后在父元素上设置text-ali

Android开发之基本控件和详解四种布局方式

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

Web全栈-网页的布局方式、浮动流基本概念

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>网页的布局方式</title> <style> /* div,h1,p{ border: 1px solid #000; } span,strong,b{ border: 1px solid #000; } */ *{ margin: 0; pa

Android五种布局方式——LinearLayout、RelativeLayout、TableLayout....(四)

Android五种布局方式--LinearLayout.RelativeLayout .TableLayout.... Android使用XML声明界面布局 将程序的表现层和控制层分离 修改用户界面时,无需更改程序的源代码 可视化工具设计用户界面 Android五种布局方式 LinearLayout线性布局 AbsoluteLayout坐标布局 RelativeLayout相对布局 FrameLayout帧布局 TableLayout表格布局 GridLayout 1.LinearLayout线

【转】Android开发学习笔记:5大布局方式详解

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeLayout):相对其它组件的布局方式. 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件. 1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:

(转)Android开发:5大布局方式详解

原文链接 http://liangruijun.blog.51cto.com/3061169/632532 Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeLayout):相对其它组件的布局方式. 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件. 1. 线性布局

Android开发5大布局方式详解

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeLayout):相对其它组件的布局方式. 绝对布局(AbsoluteLayout):按照绝对坐标来布局组件. 1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:

Android 开发之旅:view的几种布局方式及实践

本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.View布局概述 2.线性布局(Linear Layout) 2.1.Tips:android:layout_weight="1" 3.相对布局(Relative Layout) 4.表格布局(Table Layout) 5.列表视图(List View) 5.1.一个小的改进 5.2.补充说明 6.网格视图(Grid View) 7 .绝对布局() 8.标签布局(Tab Layout) 1.view的布局