CSS 的布局 盒子

简介: CSS 的布局 盒子

块级元素和行内元素

块级元素

h1 - h6     p   div   ul   ol   li

特点:

  • 独占一行
  • 高度、宽度、内外边距、行高 都可以进行控制
  • 宽度默认和父级元素 一样宽
  • 是一个容器(盒子),里面可以放 行内元素 和 块级元素


行内元素

a strong  b   em   i  del   s   ins    u   span

特点:


  • 不独占一行,一行可以显示多个
  • 设置高度、宽度、行高无效
  • 左右外边距有效(上下无效) ,内边距有效
  • 默认宽度只能是本身内容
  • 行内元素只能容纳本文和其他行内元素,不能放块级元素


行内元素 和 块级元素 的区别

  • 块级元素独占一行,行内元素不独占一行
  • 块级元素可以设置宽 高,行内元素不能设置 宽高
  • 块级元素四个方向都能设置外边距,行内元素垂直方向不能设置


改变显示模式(把行内元素 变成 块级元素)

  • display:block  改成块级元素(常用)
  • display:inline  改成行内元素(很少用)
  • display:inline-block  改成行内块元素


盒模型

 

盒模型图

每个 HTML元素 就相当于是一个矩形的 “盒子”

css的盒模型由里到外包括:content(内容)padding(内边距)border(边框)margin(外边距)



5cb76a0a9586493b82857810583390a6.png


边框基础属性

  • 粗细:border-width
  • 样式:border-style (默认没有边框,solid实线 、dashed虚线、dotted点线边框)
  • 颜色:border-color
  • 让边框不会撑大盒子:box-sizing:border-box;


内边框、外边框

格式都一样 无非外边框替换成 margin,下面拿padding(内边框)举例子

基础写法:

padding-top设置上面的边距

padding-bottom 设置下面边距

padding-left 设置左边边距

padding-right 设置右边边距

复合写法

padding:5px 10px 15px  20px(设置 上:5px    下:10px      左:15px       右:20px)

 

块级元素水平居中

前提:

  • 指定宽度
  • 把水平margin 设为 auto

例如:

<style>
        div {
            width: 500px;
            height: 200px;
            background-color: aqua;
            margin: auto;
        }
</style> 
<div>
    你好
</div>

ecf97bbba9bc434f9e9236790af4a452.png


去除浏览器默认样式

浏览器会给元素加上一些默认样式,尤其是内外边距,而不同的浏览器会有不同的默认样式,为了让我们的网页在任何地方显示的样式统一,我们往往会去除浏览器的默认样式

使用通配符:给所有元素加上格式

    <style>
        * {
            margin: 0;
            padding: 0;
        }
    </style>

弹性布局

初体验

1. 默认

    <style>
        div{
            width: 100%;
            height: 100%;
            background-color: blue;
        }
        div>span{
            background-color: green;
            width: 100px;
        }
    </style>
    <div>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
    </div>

8845c2498278424b989f8b5222b4e71b.png


2. 当我们给div加上  display:flex


47e94b798ba241eaa20d2d920af84e69.png


3. 再给 div 加上 justify-cotent:space-around;



4a994c75b58241c4bda3884c2ae12299.png

4. 把  justify-cotent:space-around; 改成 justify-content:flex-end;


6cad0d701d8a44ee9dde6cc1a9895f8d.png

什么是 flex 弹性盒子?

  • flex 是 flexible box 的缩写,意思是“弹性盒子”
  • 任何一个 html 元素,都可以指定为display:flex 完成弹性布局
  • flex布局本质加上给父盒子添加 display:flex属性,来控制子盒子的 位置和排列方式


基础概念:

  • 被设置为 display:flex 属性的元素 ,称为 flex container
  • 他的所有子元素立刻成为了该容器的成员,称为flex item
  • flex item 可以纵向排列,也可以横向排列,称为 flex direction(主轴)


常用属性

justify-content       设置主轴上子元素的排列方式

justify-content:flex-start    项目位置容器开头,默认值

justify-content:flex-end    项目位于容器结尾

justify-content:center   项目位于容器中央

justify-content:space-between   项目在行与行之间留有间隔

justify-content:space-around   项目在 行之前、行之间、行之后 留有空间


align-items        设置侧轴上的元素排列方式


align-items: center;    朝着弹性容器的 中央 进行打包

align-items: flex-start;    朝着弹性容器的 开头 进行打包

align-items: flex-end;   朝着弹性容器的 结尾 进行打包

align-items: space-between;    行均匀分布在弹性容器中

align-items: space-around;   行均匀分布在弹性容器中,两端各占一半

相关实践学习
基于ACK Serverless轻松部署企业级Stable Diffusion
本实验指导您在容器服务Serverless版(以下简称 ACK Serverless )中,通过Knative部署满足企业级弹性需求的Stable Diffusion服务。同时通过对该服务进行压测实验,体验ACK Serverless 弹性能力。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。 &nbsp; &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
15天前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
46 8
|
2月前
|
前端开发
CSS中的display属性:布局控制的关键
CSS中的display属性:布局控制的关键
135 42
|
1月前
|
前端开发 容器
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
20 3
你不知道的css——1. 外在盒子、内在盒子,宽度和高度的计算,box-sizing属性
|
5天前
|
前端开发
CSS Grid 布局:span 关键字
CSS Grid 布局:span 关键字
15 0
|
8天前
|
前端开发 容器
css中弹性布局使用方法
css中弹性布局使用方法
17 0
|
8天前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
19 0
|
1月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
1月前
|
前端开发
css 十字分割线(含四等分布局)
css 十字分割线(含四等分布局)
28 2
|
1月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
25 0
CSS 【实战】 “四合院”布局
|
1月前
|
前端开发
css的flex布局中使用margin:auto智能分配剩余空间
css的flex布局中使用margin:auto智能分配剩余空间
30 1