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

微信小程序css之盒子(box)模型

概念

在css的使用中,所有的元素都被理解成为一个盒子模型,这和QT中的盒子模型相同,如下图所示:
在这里插入图片描述

  • Content: 这个区域是用来显示内容,大小可以通过设置 width 和 height.
  • Padding: 包围在内容区域外部的空白区域,即内边距,大小通过 padding 相关属性设置。
  • Border: 边框盒包裹内容和内边距。大小通过 border 相关属性设置。
  • Margin: 这是最外面的区域,是盒子和其他元素之间的空白区域,即外边距,大小通过 margin 相关属性设置。

分类(块级盒子和内联盒子)

块级(block)盒子有以下几个特点:

  • 每个盒子都会换行
  • width 和 height 属性可以发挥作用
  • 内边距(padding), 外边距(margin) 和 边框(border) 会将其他元素从当前盒子周围“推开”
  • 在绝大数情况下盒子会和父容器一样宽

块级盒子其实就对应着块级的标签,默认情况下h标签、p标签都是块级的,小程序中的view标签也是,这些标签有上面说的这些属性,每增加一个都会换行。

内联(inline)盒子有以下几个特点:

  • 盒子不会产生换行
  • width 和 height 属性将不起作用
  • 垂直方向的内边距、外边距以及边框会被应用但是不会把其他处于 inline 状态的盒子推开
  • 水平方向的内边距、外边距以及边框会被应用且会把其他处于 inline 状态的盒子推开
    默认情况下用做链接的 a 元素、span、 em 以及 strong 都是处于 inline 状态的。
    可以通过display属性来更改盒子的类型
display:block /*块级盒子*/
display:inline /*内联盒子*/

使用display: inline-block

inline-block是display的一个特殊的值,它在内联和块之间提供了一个中间状态。当你不希望一个项切换到新行(这是内联盒子的属性),但希望它可以设定宽度和高度,并避免与其他行发生重叠的时候(width和height属性可设,垂直方向上内外边距可设且会推开其他的组件,这是块级盒子的属性),使用inline-block。
使用了display: inline-block特点如下:

  • 设置width 和height 属性会生效。
  • padding, margin, 以及border 会推开其他元素。

但是,它不会跳转到新行,如果显式添加width 和height 属性,它只会变得比其内容更大。

相关文章:

  • 微信小程序中text标签换行问题
  • 微信小程序无法找到组件的问题 [“usingComponents“][“component1“]:“xxx“未找到
  • git本地仓库新建分支并推送到远端仓库
  • 微信小程序将组件中的文字放置在正中间的方法
  • linux脚本开头的#!/bin/bash有什么作用
  • git如何撤销未提交的更改
  • Qt动态更改界面语言(在运行状态下改变界面语言)
  • .gitignore文件---让git自动忽略指定文件
  • 解决QMYSQL driver not loaded问题
  • 信息安全之对称加密技术
  • 信息安全之非对称加密技术
  • 信息安全之数字信封原理
  • 信息安全之信息摘要技术
  • 信息安全技术之数字签名
  • 设置Mysql C API断线自动重连
  • ComponentOne 2017 V2版本正式发布
  • ES6系统学习----从Apollo Client看解构赋值
  • express.js的介绍及使用
  • HTML5新特性总结
  • javascript面向对象之创建对象
  • Js基础知识(四) - js运行原理与机制
  • Laravel Telescope:优雅的应用调试工具
  • Map集合、散列表、红黑树介绍
  • Mithril.js 入门介绍
  • mysql 数据库四种事务隔离级别
  • Protobuf3语言指南
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • V4L2视频输入框架概述
  • Zsh 开发指南(第十四篇 文件读写)
  • 测试如何在敏捷团队中工作?
  • 开源SQL-on-Hadoop系统一览
  • 漂亮刷新控件-iOS
  • 使用Swoole加速Laravel(正式环境中)
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 我与Jetbrains的这些年
  • 物联网链路协议
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 直播平台建设千万不要忘记流媒体服务器的存在 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​ubuntu下安装kvm虚拟机
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 数据结构
  • ###项目技术发展史
  • #include
  • #WEB前端(HTML属性)
  • #在 README.md 中生成项目目录结构
  • (6)设计一个TimeMap
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (实战篇)如何缓存数据
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (转)Google的Objective-C编码规范
  • (转)Mysql的优化设置
  • (转载)Linux网络编程入门