一、使用float实现横列布局的方法

如下面所示:DIV1和DIV2都可以选择向左或者向右浮动50%来实现展示在同一行

div1 div2

实现下面图片中布局的css样式如下:

分析:

1、第一行第一个图片和最后一个图片的左右边距是10px,中间图片的左右边距是5px。布局如下:

 <section class="active_div1">
<div>
<img id="active_div11" src="">
</div>
<div>
<img id="active_div12" src="">
</div>
<div>
<img id="active_div13" src="">
</div>
</section>
.active_div1 div {
float: left;
width: 33.33%;
box-sizing: border-box;
} .active_div1 div:nth-child(1) {
padding-left: 10px;
} .active_div1 div:nth-child(3) {
padding-right: 10px;
} .active_div1 div:nth-child(2) {
padding: 0 5px;
}

2、第二行只有中间图片的最有边距是5px;布局如下:

<section class="active_div2">
<div>
<img id="active_div21" src="" onclick="imgClick(this)">
</div>
<div>
<img id="active_div22" src="" onclick="imgClick(this)">
</div>
<div>
<img id="active_div23" src="" onclick="imgClick(this)">
</div>
</section>
.active_div2 div {
width: 33.33%;
float: left;
box-sizing: border-box;
} .active_div2 div:nth-child(2) {
padding: 0px 5px;
}

注意:使用box-sizing: border-box后如果没有其他样式,所有的块将全部贴在一起,中间是没有任何间距的。这也是一个很经典的布局

二、使用display:inline-block

display:inline-block大多数用于行块的转换,不建议使用此属性来进行行列布局。因为inline-block不能完全代替float

红框中的布局就是使用display:inline-block最经典的布局。

<header id="consume_h">
<span>已过期为消费不退款</span>
<span>免预约</span>
</header>
.consume_h  span {
display: inline-block;
} .consume_h span:before {
content: "\f120";
display: inline-block;
margin-right: 5px;
margin-left: 10px;
font-family: "Ionicons";
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
text-rendering: auto;
line-height:;
-webkit-font-smoothing: antialiased;
}

此处使用了伪类,关于伪类的定义是使用后面会有专门的笔记来记录,这里就不赘述了。

此出还有一个经典的布局:

这种布局一般是:
<div>
<img src="" alt="">
<p>
测试勿拍
</p>
</div>

使用定位position:absolute常用于左边固定,右边自适应的情况。

  1. 对div进行相对定位
  2. 对img进行绝对定位
  3. p进行相对定位
注:固定宽度列的高度>自适应宽度列?

三、使用flexible box实现 真正意义上的流体布局

这种方法本人还没有真正在实际操作中体验过,此处先记录下来~

CSS实现横列布局的方法总结的更多相关文章

  1. 一、CSS实现横列布局的方法总结

    一.使用float实现横列布局的方法 如下面所示:DIV1和DIV2都可以选择向左或者向右浮动50%来实现展示在同一行 div1 div2 实现下面图片中布局的css样式如下: 分析: 1.第一行第一 ...

  2. 【css】css2实现两列三列布局的方法

    前言 对于 flex 弹性布局相信大家都有所了解,它是 css3 中的属性,然而它具有一定的兼容性问题.楼主前几天面试时遇到了面试官需要设计一个两列布局,我当然就说父元素 flex 吧哩吧啦,然而需要 ...

  3. css实现三列布局,左右固定值,中间自适应。

    这里主要用到的是position:absolute;及margin属性;代码很简单,一看就明白. <!DOCTYPE html> <html lang="zh_CN&quo ...

  4. CSS实现三列布局

    三列布局指的是两边两列定宽,中间的宽度自适应. 常用三种方法: 定位 浮动 弹性盒布局 定位方式 最直观和容易理解的一种方法,左右两栏选择绝对定位,固定于页面的两侧,中间的主体选择用margin确定位 ...

  5. CSS实现两列布局,一列固定宽度,一列宽度自适应方法

    不管是左是右,反正就是一边宽度固定,一边宽度自适应. 博客园的很多主题也是这样设计的,我的博客也是右侧固定宽度,左侧自适应屏幕的布局方式. html代码: <div id="wrap& ...

  6. CSS实现三列布局方法总结

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABYwAAAI7CAYAAABPx9+YAAARJElEQVR4nO3cwWnDQBBA0TioJrXhTl

  7. HTML5+CSS实现三列布局自适应

    利用CSS的float属性可以将元素并排,做出三列并排的布局. 如这样的效果 实现的原理:只要将3个元素设置float属性,属性值为left,同时指定不同比例的宽度,及高度. 下面是实现代码 < ...

  8. CSS 经典三列布局

    一 圣杯布局 1 html结构 <!DOCTYPE html> <html> <head> <title></title> <link ...

  9. 纯CSS实现三列布局(两边固定,中间自适应)

    看了一些网上的案例,感觉较繁杂,于是,自己整理了一篇来说明这个东西. 也是给我自己复习吧,以前有人问道,我还没答上来呢.== 看代码: html: <div class="top&qu ...

随机推荐

  1. Visual Studio Debugger中七个鲜为人知的小功能

    Visual Studio debugger是一个很棒的调试工具,可以帮助程序猿们快速地发现和解决问题.这里给大家简单介绍一下VS调试工具中的七个鲜为人知的小功能. 1.    一键跳转到指定语句 调 ...

  2. 【LeetCode】225. Implement Stack using Queues

    题目: Implement the following operations of a stack using queues. push(x) -- Push element x onto stack ...

  3. Python 实现 Discuz论坛附件下载权限绕过漏洞

    背景:最近压力有些大,想玩点游戏放松下,去Mac论坛下载,发现需要各种权限,于是蛋疼了. 所以,上网查了discuz! x3.1破解,手动替换,发现出现“链接已过期”.所以写了下面程序. 0.将下列代 ...

  4. PHP容器--Pimple运行流程浅析

    需要具备的知识点 闭包 闭包和匿名函数在PHP5.3.0中引入的. 闭包是指:创建时封装周围状态的函数.即使闭包所处的环境不存在了,闭包中封装的状态依然存在. 理论上,闭包和匿名函数是不同的概念.但是 ...

  5. work1-英语辅导班在线报名系统

    作品简述: 这是一个英语辅导班在线报名系统,目的是提供一个供学生报名辅导班的平台,也同时为老师收集报名信息提供便利. 使用的语言: php+html+js 服务器: 新浪sae服务器,apache 数 ...

  6. 如何使用LIBSVM,从安装到基本实例使用

    1.在eclipse上安装libsvm 下载libsvm压缩包解压到本地目录,下载地址http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html 如图: 2 ...

  7. C++学习笔记——大杂烩

    C++学习笔记--大杂烩                                                         by方阳 版权声明:本文为博主原创文章,转载请指明转载地址 h ...

  8. 详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

    总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. ...

  9. RabbitMQ知多少

    1.引言 RabbitMQ--Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适.RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协议 ...

  10. Luogu 1064 金明的预算方案 / CJOJ 1352 [NOIP2006] 金明的预算方案(动态规划)

    Luogu 1064 金明的预算方案 / CJOJ 1352 [NOIP2006] 金明的预算方案(动态规划) Description 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己 ...