JavaWeb-CSS的盒模型与弹性布局

news2024/10/6 14:11:50

目录

    • CSS的盒模型
      • 边框
      • 内边距
      • 外边距
      • 块级元素水平居中
    • 弹性布局
      • 常用的一些属性
        • justify-content
        • align-items

CSS的盒模型

每一个HTML就相当于一个矩形的"盒子".

这个盒子由以下几个部分组成

  • 边框 border
  • 内容 content(下图中间蓝色部分)
  • 内边距 padding
  • 外边距 margin

在这里插入图片描述

边框

边框的基础属性:

粗细: border-width
样式: border-style
颜色:border-color

<style>
    div {
    width: 500px;
    height: 250px;
    border-width: 10px;
    border-style: solid;
    /* solid为实线边框,dashed为虚线边框,dotted为点线边框 */
    border-color: blue;    
    }
</style>
<div>
    边框
</div>

在这里插入图片描述
接下来我们设计一个500x250的盒子

<style>
    div {
        height: 250px;
        width: 500px;
        background-color: green;
    }
</style>
<div >盒子</div>

在这里插入图片描述
我们为其设置一个边框

        border-width: 10px;
        border-style: solid;
        border-color: red;

在这里插入图片描述

我们会发现盒子变大了,得出边框会撑大盒子的结论.那么怎么样才能使盒不会被边框撑大呢

通过 box-sizing 属性可以修改浏览器的行为, 使边框不再撑大盒子

  * {
    box-sizing: border-box;
  }

在这里插入图片描述

内边距

设置内容和边框之间的距离

  • padding-top
  • padding-bottom
  • padding-left
  • padding-right
<style>
div {
    background-color: red;
    width: 400px;
    height: 200px;
    padding-top: 50px;
    padding-left: 100px;
  
}
</style>
<div>盒子</div>

在这里插入图片描述
可以看到内边距也会撑大盒子的,当然也可以使用box-sizing 属性进行修改.

外边距

控制盒子和盒子之间的距离

  • margin-top
  • margin-bottom
  • margin-left
  • margin-right

使用方法跟内边距相差无几,所以这里就不子演示了

块级元素水平居中

三种写法:

      <style>
    div {
        width: 500px;
        height: 200px;
        margin-left: auto;
        margin-right: auto;
        /* 第二种:
        margin: auto;
        第三种:
        margin: 0 auto; */
        background-color: green;
    }
</style>
<div>盒子</div>

在这里插入图片描述
有一个前提是必须为块元素指定宽度,不然就会跟父元素一致.
在这里插入图片描述

有一点需要注意的是
text-align: center 是让行内元素或者行内块元素居中的.
margin: auto 是给块级元素用得.

弹性布局

弹性布局需要了解一些概念

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

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

这些概念看完不懂没关系,继续看下面的属性及案例演示.

常用的一些属性

justify-content

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

<style>
    div {
       height: 150px;
       width: 100%;
       background-color: red;
        display: flex;
    }
    div span {
        width: 100px;
        height: 100px;
        background-color: green;    
    }
</style>
<div>
    <span>1</span>
    <span>2</span>
    <span>3</span>
    <span>4</span>
    <span>5</span>
</div>

在这里插入图片描述

 div {
        height: 150px;
        width: 100%;
        background-color: red;
        display: flex;
        justify-content: center;   
    }

加上 justify-content: center后样式就发生了变化
在这里插入图片描述

justify-content的常用取值有:
center -位于容器中央
flex-start -位于容器结尾
flex-end -位于容器开头
space-between -在行与行之间留有空间
space-around -在行前行后行之间都留有空间

align-items

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

<div>
    
    <span>1</span>
    <span>2</span>
    <span>3</span>
    </div>
    <style>
    div {
    width: 500px;
    height: 500px;
    background-color: green;
    display: flex;
    justify-content: space-around;
    }
    div span {
    width: 150px;
    background-color: red;
    }
    </style>

在这里插入图片描述
使用 align-items 实现容器的结尾对行打包

<div>
    
    <span>1</span>
    <span>2</span>
    <span>3</span>
    </div>
    <style>
    div {
    width: 500px;
    height: 500px;
    background-color: green;
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    }
    div span {
    width: 150px;
    background-color: red;
    }
    </style>

在这里插入图片描述
align-items的常用取值:
center -容器的中央对行打包
flex-start -容器开头对行打包
flex-end -容器结尾对行打包
space-between -行均匀分布在容器中
space-around -行均匀分布在容器中,两端各占一半

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/526262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【饭谈】ChatGpt如果让软件ui都消失的话,那ui自动化测试该何去何从?

“未来的软件长什么样&#xff1f;” 一位妹子产品经理问我&#xff1a;“你说说未来的软件ui是什么样的&#xff1f;听到这个问题我先是诧异了一下&#xff0c;随即陷入了沉思。” 我看着眼前的产品经理&#xff0c;她是一位比较年轻干练的女强人类型&#xff0c;1.65的身材…

Mac软件打开提示:已损坏,无法打开。您应该将它移到废纸娄 怎么解决?

新入手的苹果电脑打开软件出现&#xff1a;“已损坏&#xff0c;无法打开。您应该将它移到废纸娄” 或 “已损坏&#xff0c;打不开。推出磁盘映像”。这个怎么解决&#xff1f; 第一部分&#xff1a; 1、点菜单栏搜索图标&#xff0c;输入&#xff1a;终端 &#xff0c;找到后…

2022 第十三届蓝桥杯大赛软件赛省赛(第二场),C/C++ 大学B组题解

2022 第十三届蓝桥杯大赛软件赛省赛&#xff08;第二场&#xff09;&#xff0c;C/C 大学B组题解 文章目录 第1题 —— 练习 &#xff08;5分&#xff09;第2题 —— 三角回文数 &#xff08;5分&#xff09;第3题 —— 卡片 &#xff08;10分&#xff09;第4题 —— 考勤刷卡 …

软考A计划-真题-分类精讲汇总-第九章(数据结构与算法基础)

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&am…

Unity VR开发教程 OpenXR+XR Interaction Toolkit (一) 安装和配置

文章目录 &#x1f4d5;前言❓什么是 OpenXR❓什么是 XR Interaction Toolkit &#x1f4d5;教程说明&#x1f4d5;第一步&#xff1a;导入 OpenXR&#x1f4d5;第二步&#xff1a;导入 XR Interaction Toolkit⭐导入 Starter Assets⭐添加 Preset⭐设置 Preset Manager 的 Fil…

VLAN(含配置命令行)

一、VLAN的概念及优势 虚拟局域网&#xff08;VLAN&#xff09;是一组逻辑上的设备和用户&#xff0c;这些设备和用户并不受物理位置的限制&#xff0c;可以根据功能、部门及应用等因素将它们组织起来&#xff0c;相互之间的通信就好像它们在同一个网段中一样&#xff0c;由此得…

分布式计算实验4 随机信号分析系统

一、实验要求 利用MOM消息队列技术实现一个分布式随机信号分析系统&#xff0c;具体要求&#xff1a; 1.随机信号产生器微服务每隔100毫秒左右就产生一个正态分布的随机数字&#xff0c;并作为一个消息发布。 2.一个随机信号统计分析微服务&#xff0c;对信号进行如下分析&a…

【开发工具 - vscode】vscode配置C/C++运行环境

【开发工具 - VSCode】vscode配置C/C环境 准备工作第一步 下载vscode第二步 下载mingw第三步 将mingw添加至系统变量中第四步 打开VsCode安装一下必要的插件 正式开始配置第一步 新建个存放C/C文件的文件夹&#xff0c;并新建个cpp文件配置方法一 借助run code 插件的配置方法 …

c语言平方(c语言平方怎么打)

C语言中怎么求平方 a^6 是a和6的异或&#xff0c;并不是5的6次幂。 你的程序会如下计算&#xff1a; 5是101 &#xff0c;6是110&#xff0c;你的答案你一定是011&#xff0c;也就是3~C语言中^是指抑或运算符&#xff0c;不是求幂的。你要求平方就 ba*a;6次方就乘6次。#include…

java调用chatgpt接口,实现专属于自己的人工智能助手

文章目录 前言导包基本说明请求参数响应参数创建请求和响应的VO类 代码编写使用最后说明 前言 今天突然突发奇想&#xff0c;就想要用java来调用chatget的接口&#xff0c;实现自己的聊天机器人&#xff0c;但是网上找文章&#xff0c;属实是少的可怜(可能是不让发吧)。找到了…

Unity鼠标带动物体运动的三种方法

目录 第一种&#xff1a;物体跟随鼠标移动。 第二种&#xff1a;鼠标拖动物体运动。 第三种&#xff1a;鼠标点到哪&#xff0c;物体运动到哪。 第一种&#xff1a;物体跟随鼠标移动。 描述&#xff1a;鼠标左键点击物体&#xff0c;将物体拾起&#xff0c;松开鼠标左键&…

每日一练蓝桥杯C语言:2020年真题题集(B组)

在这里我给大家推荐一款不错刷算法学习网站&#xff1a;点击这处链接牛客网&#xff1b;牛客网作为国内内容超级丰富的 IT 题库&#xff0c;各种东西看的我眼花缭乱&#xff0c;题库面试学习求职讨论大厂内推等等服务&#xff0c;堪称"互联网求职神器"。它好就好在不…

MySQL(九):MVCC能否解决幻读问题

尺有所短&#xff0c;寸有所长&#xff1b;不忘初心&#xff0c;方得始终。 请关注公众号&#xff1a;星河之码 幻读【前后多次读取&#xff0c;数据总量不一致】 同一个事务里面连续执行两次同样的sql语句&#xff0c;可能导致不同结果的问题&#xff0c;第二次sql语句可能会返…

CSS3动画属性 animation详解(看完就会)

CSS3动画属性 animation 文章包含个人理解错误请指出 往期文章 【css高级】变量详解 轮播图swiper框架的基本使用【Transform3D】转换详解&#xff08;看完就会&#xff09;【css动画】移动的小车 【CSS3】 float浮动与position定位常见问题&#xff08;个人笔记&#xff09…

MySQL入门安装(一步一图)

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…

三极管工作原理介绍(动画图解)

三极管BJT 各位社区的小伙伴们大家好&#xff0c;相信大家也像我一样&#xff0c;因为上学的时候学过&#xff0c;但是呢&#xff0c;出社会不怎么用&#xff0c;久而久之就忘了&#xff0c;今天来给大家巩固一下&#xff0c;我对三极管的通俗易懂的工作原理介绍&#xff01; 半…

怎样提高报表呈现的性能

报表的性能很重要&#xff0c;是一个总被谈及的问题&#xff0c;跑的慢的报表用户体验恶劣&#xff0c;无法忍受。解决这些慢的性能问题&#xff0c;也成了项目方和工程师头疼的事情。一出状况&#xff0c;就得安排技术好的&#xff0c;能力强的工程师去救火&#xff0c;本来利…

『赠书活动 | 第二期』《元宇宙Ⅱ:图解元技术区块链、元资产与Web3.0、元人与理想国(全三册)》

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 『赠书活动 &#xff5c; 第二期』 本期书籍&#xff1a;《元宇宙Ⅱ&#xff1a;图解元技术区块链、元资产与Web3.0、元人与理想国》 赠书规则&#xff1a;评论区&…

齐全且实用的MySQL函数使用大全

目录 一、MySQL函数介绍 二、MySQL函数分类 &#xff08;一&#xff09;单行函数 ①字符串函数 ②数学函数 ③日期函数 ④流程控制函数 ⑤系统信息函数 ⑥其他函数 &#xff08;二&#xff09;聚合函数 三、函数使用示例 &#xff08;一&#xff09;字符函数 ①le…

【K8S系列】深入解析etcd

序言 时间永远是旁观者&#xff0c;所有的过程和结果&#xff0c;都需要我们自己去承担。 文章标记颜色说明&#xff1a; 黄色&#xff1a;重要标题红色&#xff1a;用来标记结论绿色&#xff1a;用来标记一级论点蓝色&#xff1a;用来标记二级论点 Kubernetes (k8s) 是一个容器…