基础系列:布局解决方案【等分】

  • 效果图

  • 等分公式

说明:总宽度C,个子div宽度w,个数N,子div间距G

思路一float

  1. box-sizing:border-box;  div宽度包含padding宽度;
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">

         .parent{
             margin-left: -20px;
         }
         .column{
             float: left;
             width: 25%;
             padding-left: 20px;
             box-sizing:border-box;
         }

    </style>
</head>
<body>

    <div class="parent">
        <div class="column"><p>1</p></div>
        <div class="column"><p>2</p></div>
        <div class="column"><p>3</p></div>
        <div class="column"><p>4</p></div>
    </div>

</body>
</html>

思路二table

  1. 父容器display:table,子容器display:table-cell  单元格;
  2. table-layout:fixed; 子容器等分父容器;
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
         .parent-fix{
             margin-left: -20px;
         }
         .parent{
             display: table;
             width: 100%;
             table-layout: fixed;
         }
         .column{
             display: table-cell;
             padding-left: 20px;
             background-color: #3333CC
         }

    </style>
</head>
<body>
    <div class="parent-fix">
        <div class="parent">
            <div class="column"><p>1</p></div>
            <div class="column"><p>2</p></div>
            <div class="column"><p>3</p></div>
            <div class="column"><p>4</p></div>
        </div>
    </div>
</body>
</html>

思路三flex

  1.   flex:1; 默认的是平分空间;
  2.   .column+.column选择器:在 div和div之间;
  3.   flex分配的剩余空间,它会先除掉margin-left的值;
<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
         .parent{
             display: flex;
         }
         .column{
             flex:1;
             background-color: #3333CC
         }
         .column+.column{
             margin-left: 20px;
         }
    </style>
</head>
<body>
<div class="parent">
    <div class="column"><p>1</p></div>
    <div class="column"><p>2</p></div>
    <div class="column"><p>3</p></div>
    <div class="column"><p>4</p></div>
</div>
</body>
</html>
时间: 2024-11-13 17:52:55

基础系列:布局解决方案【等分】的相关文章

C#基础系列——一场风花雪月的邂逅:接口和抽象类

前言:最近一个认识的朋友准备转行做编程,看他自己边看视频边学习,挺有干劲的.那天他问我接口和抽象类这两个东西,他说,既然它们如此相像, 我用抽象类就能解决的问题,又整个接口出来干嘛,这不是误导初学者吗.博主呵呵一笑,回想当初的自己,不也有此种疑惑么...今天打算针对他的问题,结合一个实际的使用场景来说明下抽象类和接口的异同,到底哪些情况需要用接口?又有哪些情况需要用抽象类呢? C#基础系列目录: C#基础系列——Linq to Xml读写xml C#基础系列——扩展方法的使用 C#基础系列——序

J2EE开发实战基础系列一 HelloWorld

开始咱们的第一个程序,首先是配置环境,按照上一章所描述的方式下载开发工具,然后配置Java环境变量,给大家看下具体的结构: 环境变量配置OK的提示,如上图. Eclipse和Tomcat的文件目录位置,本系列采用的都是绿色版本,如上图. 启动Eclipse.exe,Workspace路径的配置,下面的复选框表示选中后就默认一直使用该工作空间,不选择每次启动都出出现该提示框,如上图. 在这里讲解下Workspace的概念,这里目录存储项目程序段的,假如你在别的目录创建一个Java的项目,那么在Wo

J2EE开发实战基础系列一 HelloWorld【转】

开始咱们的第一个程序,首先是配置环境,按照上一章所描述的方式下载开发工具,然后配置Java环境变量,给大家看下具体的结构: 环境变量配置OK的提示,如上图. Eclipse和Tomcat的文件目录位置,本系列采用的都是绿色版本,如上图. 启动Eclipse.exe,Workspace路径的配置,下面的复选框表示选中后就默认一直使用该工作空间,不选择每次启动都出出现该提示框,如上图. 在这里讲解下Workspace的概念,这里目录存储项目程序段的,假如你在别的目录创建一个Java的项目,那么在Wo

C#基础系列——异步编程初探:async和await

前言:前面有篇从应用层面上面介绍了下多线程的几种用法,有博友就说到了async, await等新语法.确实,没有异步的多线程是单调的.乏味的,async和await是出现在C#5.0之后,它的出现给了异步并行变成带来了很大的方便.异步编程涉及到的东西还是比较多,本篇还是先介绍下async和await的原理及简单实现. C#基础系列目录: C#基础系列——Linq to Xml读写xml C#基础系列——扩展方法的使用 C#基础系列——序列化效率比拼 C#基础系列——反射笔记 C#基础系列——At

《Java 基础系列》初步整理

<Java 基础系列>初步整理大概有 12 篇,主要内容为.: 抽象类和接口内部类修饰符装箱拆箱注解反射泛型异常集合IO字符串其他第一篇我们来聊聊抽象类和接口. "抽象类和接口"听起来是非常普遍的东西,有些朋友会觉得:这个太基础了吧,有啥好说的,你又来糊弄我. 这里写图片描述 事实上我在面试中不仅一次被问到相关的问题: 抽象类和接口之间的区别?什么时候创建抽象类?什么时候创建接口?设计框架时该如何选择?我比较喜欢这样的问题,答案可深可浅,体现了我们对日常工作的思考. 我们什

夯实Java基础系列6:一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别!

目录 抽象类介绍 为什么要用抽象类 一个抽象类小故事 一个抽象类小游戏 接口介绍 接口与类相似点: 接口与类的区别: 接口特性 抽象类和接口的区别 接口的使用: 接口最佳实践:设计模式中的工厂模式 接口与抽象类的本质区别是什么? 基本语法区别 设计思想区别 如何回答面试题:接口和抽象类的区别? 参考文章 微信公众号 Java技术江湖 个人公众号:黄小斜 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl

C#基础系列:实现自己的ORM(反射以及Attribute在ORM中的应用)

反射以及Attribute在ORM中的应用 一. 反射什么是反射?简单点吧,反射就是在运行时动态获取对象信息的方法,比如运行时知道对象有哪些属性,方法,委托等等等等.反射有什么用呢?反射不但让你在运行是获取对象的信息,还提供运行时动态调用对象方法以及动态设置.获取属性等的能力.反射在ORM中有什么用呢?我这里所讨论的ORM实现是通过自定义Attribute的方式进行映射规则的描述的.但是我们并不知道具体哪个对象需要对应哪个表,并且这些对象是独立于我们的ORM框架的,所以我们只能通过自定义Attr

Spring基础系列11 -- 自动创建Proxy

Spring基础系列11 -- 自动创建Proxy 转载:http://www.cnblogs.com/leiOOlei/p/3557964.html 在<Spring3系列9- Spring AOP——Advice>和<Spring3系列10- Spring AOP——Pointcut,Advisor拦截指定方法>中的例子中,在配置文件中,你必须手动为每一个需要AOP的bean创建Proxy bean(ProxyFactoryBean). 这不是一个好的体验,例如,你想让DAO层

Scrum入门基础系列之Scrum会议

Scrum入门基础系列之Scrum会议 3条回复 Scrum会议包含Sprint计划会.每日例会.Sprint评审会.Sprint回顾会.下面分别介绍这几个会议,按照一个简单模板进行介绍: WHY.WHAT.WHEN.WHO.HOW,即为什么要有这个会议,这个会议的输入和输出是什么,什么时间开这个会,谁来参加,如何开好这个会议. Sprint计划会 WHY Sprint计划会是为当前Sprint做计划的会议. WHAT Sprint计划会的输入为产品Backlog,最新的产品增量,团队的能力和开

Scrum入门基础系列之Scrum工件

Scrum入门基础系列之Scrum工件 3条回复 Scrum工件主要包含一下3种: 产品Backlog Sprint Backlog 产品增量 产品Backlog 在Scrum中,主要由产品负责人[参见Scrum入门基础系列之Scrum角色]整理和维护产品Backlog.产品Backlog是Scrum中维护需求的主要工件,也是做好Scrum的第一步.一个好的产品Backlog,是要符合DEEP原则的,即,产品Backlog是详略得当的(Detailed Appropriate),涌现的(Emer