当前位置: 首页 > news >正文

CSS:盒子模型 与 多种横向布局方法

目录

  • 盒子模型
    • 块级盒子
    • 内联级盒子
    • 内联块级盒子
    • 弹性盒子
    • display 改变模型
    • 区域划分
      • text 内容区
      • padding 填充区
      • border 边框区
      • margin 外边距
      • 直接设置盒子大小
  • 布局
    • 横向布局
      • 方法一 float 浮起来
      • 方法二 内联块级元素实现
      • 方法三 弹性盒子模型

盒子模型

块级盒子

独占一行,对宽度高度支持,div、p、ul、li。

内联级盒子

不独占一行,对宽度高度不支持,span、a。

内联块级盒子

不独占一行,对宽度高度支持,img、input。

弹性盒子

一个父级元素设置成弹性盒子,其子元素默认始终横向布局。
不管子元素宽度之和是否超过父级元素,最终都能放到父级元素中。

display 改变模型

display:block; 块级盒子
display:inline; 内联级盒子
display:inline-block; 内联块级盒子
display:fiex; 弹性盒子

区域划分

从里到外:内容区、填充区、边框区、外边距。
在这里插入图片描述

text 内容区

width、height 默认针对内容区设置大小。

div,
span{width:100px;  height:50px;  
}

在这里插入图片描述

padding 填充区

padding
默认是0;
顺序是:上、右、下、左。不够的话之间对称。(顺时针)
也可以单独对某一个方向进行设置:
padding-top; 上
padding-bottom; 下
padding-left; 左
padding-right; 右

div,
span{background: red;width:100px;  height:50px;  padding:10px 20px 30px 40px;
}

在这里插入图片描述

border 边框区

border-style:边框样式;
border-color:边框颜色;
border-width:边框宽度;
当然也可以单独对某一个方法边框设置:
border-top:宽度 样式 颜色; 上
border-bottom 下
border-left 左
border-right 右
也可以对某个方向边框的某个属性设置:
border-top-width; 上边框宽度
还有很多组合就不再一一列举了。

div,
span{background: red;width:100px;  height:70px;  padding:10px 20px 30px 40px;border:5px solid black; //border-top-color:green; //border-bottom-color:blue; //
}

在这里插入图片描述

margin 外边距

margin,用法与padding相似。
特殊的,想要左右居中,只用设置上下距离,左右用auto即可。但反过来,不能上下居中。

div,
span{background: red;width:100px;  height:70px;  padding:10px 20px 30px 40px;border:5px solid black;border-top-color:green;border-bottom-color:blue;margin:10px auto; // 居中
}

在这里插入图片描述

直接设置盒子大小

box-sizing:content-box 设置内容区大小
box-sizing:border-box 设置整个盒子的大小

布局

横向布局

方法一 float 浮起来

添加float:left
父级没有高度,父级消失,给父级加高度。
缺点:高度需要自己计算,无法随最高子集的高度变化。
需要父级加 overflow:hidden; 本意是超出部分隐藏,但是父级没有添加高度,就会随之变化。
但任然有缺点,难以均分

.top{width:800px;background: yellow;overflow:hidden;
}.bottom{width:800px;height:200px;background:pink;
}.left{width:300px;height:100px;background:orange;float:left;
}
.right{width:300px;height:100px;background: purple;float:left;
}
   <div class="top">top<div class="left">left</div><div class="right">right</div></div><div class="bottom">bottom</div>

在这里插入图片描述

方法二 内联块级元素实现

缺点:会产生空白,浏览器把空格,换行,当作空白字符处理,最终以一个空格的形式展示。
解决空白:1、让元素连起来 2、让父类文本大小为0,子类另行设置。

方法三 弹性盒子模型

这是最常用的方法。
让父级变成弹性盒子模型,里面自动变成横向布局。
优点:不论子级宽度和多大,都可以横向放入其中。

下一文章将详细介绍弹性盒子模型。

http://www.lryc.cn/news/116847.html

相关文章:

  • 用node.js搭建一个视频推流服务
  • 【SpringCloud】Feign远程调用
  • 集合Collection-List-ArrayList学习
  • mybatispuls代码生成器
  • 【设计模式】-代理模式
  • 爬虫ip池越大越好吗?
  • 目标检测常用的数据集格式
  • chrome插件开发实例03-使用 chrome.storage API永久保存数据
  • Segment Anything(SAM) 计算过程
  • Nacos配置文件读取源码解析
  • Linux0.11内核源码解析-fcntl.c/iotcl.c/stat.c
  • OpenStack简介
  • 二分法的应用
  • ChatGPT在大规模数据处理和信息管理中的应用如何?
  • 【算法篇C++实现】五大常规算法
  • MySQL和钉钉单据接口对接
  • layui的基本使用-日期控件的业务场景使用入门实战案例一
  • 【2.1】Java微服务:详解Hystrix
  • Apache2.4源码安装与配置
  • Flume原理剖析
  • 【leetcode】202. 快乐数(easy)
  • 如何用瀑布图分析公司年报
  • Asynq: 基于Redis实现的Go生态分布式任务队列和异步处理库
  • 保证率计算公式 正态分布
  • docker容器监控:Cadvisor+InfluxDB+Grafana的安装部署
  • 论文讲解——TPU-MLIR: A Compiler For TPU Using MLIR
  • 基于最新导则下生态环评报告编制技术暨报告篇、制图篇、指数篇、综合应用篇系统性实践技能提升
  • NGZORRO:动态表单/模型驱动 的相关问题
  • 第十七次CCF计算机软件能力认证
  • ApplicationContext在Spring Boot中是如何创建的?