前端页面布局基础💕(一)

简介: 首先我们来了解一下盒子模型与行内块元素

传统布局与流动布局

基本布局须知

💡首先我们来了解一下盒子模型与行内块元素

盒子模型

  1. 概念:
    css定义的所有元素都可以拥有像盒子一样的外形和平面空间,它是css布局的基石
    它规定了网页元素如何显示以及元素间相互关系。
  2. 盒子模型组成:
  • 外边框——margin
  • 边框——border
  • 内边距——padding
  • 内容——content
    1.webp.jpg
  1. 外边距叠加
    盒模型会发生margin外边距叠加,叠加后的值会以最大边距为准。
    现在我们将两个相邻的<div>元素分别设置了大小不同的margin外边距:
<style>
        .box {
            margin: 10px;
            padding: 20px;
            border: solid 2px #000;
        }
        .large-box {
            margin: 20px;
        }
</style>
<body>
    <div class="box"></div>
    <div class="large-box box"></div>
</body>
复制代码

1.webp.jpg

4.盒子计算

  • content-box
    content-box的计算方程式为:content+padding+border
  • border-box
    border-box的计算方式为:元素的总宽高为设置的元素宽高
    1.webp.jpg

行内元素与块级元素

  1. 概念:
  • 行内元素:行内元素是瘦子,可以在一行内一个接一个地挨着
  • 块级元素:块级元素是胖子,一行内只能占一个块级元素
  1. 区别:
行内元素 块级元素
相邻的行内元素会排在同一行,会换行 块级元素独占一行
宽度随元素内容变化 宽度自动填充满其父元素的宽度
高度与宽度属性设置无效 高度与宽度设置有效
外边距与内边距只能设置左右 外边距与内边距可以随意设置
  1. 行内块元素:结合行内元素与块级元素的特性,即既有block的高宽特性与inline的行内特性
  2. 如何设置:
  • 设置为行内元素:
display:inline
复制代码
  • 设置为块级元素:
dispaly:block
复制代码
  • 设置为行内块元素:
display:inline-block
复制代码
<style>
     div {
       width: 100px;
       height: 100px;
       text-align: center;
       background-color: brown;
       color: white;
     }
     .inline {
       height: 100px;
       width: 100px;
     }
   </style>
   <div>我是块级元素</div>
   <span class="inline">我是行内元素</span>
   <span class="inline">我也是行内元素</span>
复制代码

1.webp.jpg


传统布局

文档流

  1. 概念:
    文档流即在浏览器中的规则,将窗体自上而下 分成一行一行
    并在每行中按照从左到右依次排放元素,称为文档流。
  2. 流动方向:
  • inline元素从左到右,到达最右边才会换行。
  • block元素从上到下,每一个都另起一行。
  • inline-block也是从左到右。

脱离文档流

  1. 概念:
    我们不只使用默认文档流来进行我们的布局,那样会很丑
    所以我们可以使我们的元素脱离文档流
  2. 如何脱离文档流:
    我们可以通过设置position与float属性来使元素脱离文档流
  3. 定位——position
  • 相对定位
  1. 概念:元素以自我为基准进行定位,通过偏移移动至原来的位置上,也就是以自身为参照点
  2. 使用:
position:relative;
复制代码
  1. 元素框偏移某个距离,元素仍保持未定位前的形状,它原本所占的空间仍保留
  • 绝对定位
  1. 概念:按照父元素及祖先元素来定位的
  2. 注意:
  • 当他没有父级元素,那么他就根据浏览器来进行偏移
  • 当祖先元素有定位的时候,那么就会以最近一级的有定位上级元素为参考来进行偏移
  1. 使用:
position:absolute;
复制代码
  • 固定定位
  1. 概念:以浏览器可视窗口进行定位
  2. 使用:
position:fixed;
复制代码
  1. 定位后的边偏移
  • top/bottom
  • left/right
  1. 通过浮动脱离文档流
  1. 概念:浮动元素会脱离普通流脱离普通流的控制,移动到指定位置
  2. 使用:
float:left;
float:right;
复制代码
  1. 注意:
  • 浮动的盒子不再保留原来的位置,后面的普通流元素会顶上其位置
  • 浮动的元素会一行内显示并且元素顶部对齐
  • 浮动的元素具有行内块的特性
  1. 清除浮动
  • 使用:
clear: both;
复制代码
  • 为什么要清除浮动?
    因为浮动元素不占用原文档的位置,会对后面的元素排版产生影响


相关文章
|
9月前
|
前端开发
前端:html页面布局总是有问题?会这一个技巧就够了!
前端:html页面布局总是有问题?会这一个技巧就够了!
|
编解码 前端开发 Android开发
前端页面布局之【响应式布局】
前端页面布局之【响应式布局】
88 0
|
前端开发 容器
前端页面布局之【Flex布局】详解
前端页面布局之【Flex布局】详解
167 0
|
前端开发 容器
前端页面布局之【Grid布局】详解
前端页面布局之【Grid布局】详解
600 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构1
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构1
81 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构2
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构2
54 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构4
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构4
66 0
|
前端开发
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构3
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构3
47 0
前端学习笔记202306学习笔记第四十五天-uniapp-页面布局结构3
|
前端开发 算法
蓝桥杯 —— Web前端(页面布局类【Flex 布局】)【标题即题目链接,点击查看具体要求】
蓝桥杯 —— Web前端(页面布局类【Flex 布局】)【标题即题目链接,点击查看具体要求】
241 0
|
前端开发 容器
个人博客(12、前端后台页面布局)
个人博客(12、前端后台页面布局)
341 0

热门文章

最新文章

  • 1
    【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 5
    详解智能编码在前端研发的创新应用
  • 6
    巧用通义灵码,提升前端研发效率
  • 7
    智能编码在前端研发的创新应用
  • 8
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 9
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 10
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    27
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    47
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 4
    巧用通义灵码,提升前端研发效率
    90
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    138
  • 6
    详解智能编码在前端研发的创新应用
    94
  • 7
    智能编码在前端研发的创新应用
    81
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    118
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    74