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

css实现垂直上下布局的两种常用方法

例子:将两个<span>元素在<div>内垂直居中放置.

方法一:使用 Flexbox 来实现。

在下面的示例中,我将为 <div> 元素添加样式,使其成为一个 Flex 容器,并使用 Flexbox 属性将其中的两个 <span> 元素垂直居中:

import React from 'react';
import './Component.css'; // 导入样式文件function Component() {return (<div className="container"><span className="centered">Span 1</span><span className="centered">Span 2</span></div>);
}export default Component;

在上述代码中,我们为

元素添加了名为 .container 的样式类,并为两个 元素分别添加了名为 .centered 的样式类。

然后,在样式文件(例如 Component.css)中,你可以使用 Flexbox 属性来实现垂直居中:

.container {display: flex;flex-direction: column;align-items: center;justify-content: center;height: 300px; /* 为示例添加一个高度 */
}.centered {/* 可选的样式定义 */
}

我们通过将 .container 的 display 属性设置为 flex,以及设置 flex-direction: column;、align-items: center; 和 justify-content: center;,将其内部的元素在垂直方向上居中对齐。

你可以根据需要对 .centered 类进行进一步的样式定义,例如设置文字样式、边距等。

方法二:使用 Grid 实现上下布局

你可以在容器上应用 Grid 布局,并使用网格行来定位上下两个元素。下面是一个使用 Grid 实现上下布局的示例:

import React from 'react';
import './Component.css'; // 导入样式文件function Component() {return (<div className="container"><div className="top">上方内容</div><div className="bottom">下方内容</div></div>);
}export default Component;

在上述代码中,我们在 <div> 元素中包含了两个子元素,分别是上方内容和下方内容。

然后,在样式文件(例如 Component.css)中,你可以使用 Grid 属性来实现上下布局:


.container {display: grid;grid-template-rows: 1fr auto; /* 使用网格行实现上下布局 */height: 100vh; /* 为示例添加一个高度,这里使用视口高度作为容器高度 */
}.top {background-color: #f1f1f1;
}.bottom {background-color: #ddd;
}

在上述代码中,我们将 .container 的 display 属性设置为 grid,并使用 grid-template-rows 属性来定义网格行。1fr 表示第一行占据剩余的垂直空间,auto 表示第二行根据内容自动调整高度。

.top 和 .bottom 元素则根据需要进行样式定义。

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

相关文章:

  • 【Jetpack】Navigation 导航组件 ⑤ ( NavigationUI 类使用 )
  • 基于NAudio实现简单的音乐播放器
  • C++之“00000001“和“\x00\x00\x00\x01“用法区别(一百八十六)
  • Java“魂牵”京东店铺所有商品数据接口,京东店铺所有商品API接口,京东API接口申请指南
  • vuex详细用法
  • 微前端-monorepo-无界
  • 阿里云矢量图标透明背景转换/展示时变为黑色解决方法
  • Linux之Shell(二)
  • 以太网POE供电浪涌静电防护推荐TVS二极管
  • 如何在 JavaScript 中查看结构体数组?
  • 【SpringBoot学习笔记】02.静态资源与首页订制
  • kotlin 转 Java
  • 【Harmony】在Harmony上面可以使用的Android常用的开源库
  • 数学建模:灰色关联分析
  • nodepad++ 插件的安装
  • 学习分享:Ubuntu 下使用 Qt 打开串口报错 Permission denied
  • Javaweb入门
  • 后端开发基础概念
  • ELK原理和介绍
  • FBX SDK 开发环境配置 visual studio 2022
  • vue面试题_vue2和vue3的区别
  • Shiro整合SpringBoot,实战下的应用场景
  • C语言——全局变量和局部变量重名了会怎么样
  • linux下vi或vim操作Found a swap file by the name的原因及解决方法--九五小庞
  • 通过RD Client远程连接windows电脑踩坑点
  • 学习node之——如何在项目中使用MySQL、前后端的身份认证
  • AUTOSAR从入门到精通-【应用篇】参照AUTOSAR架构的柴油车后处理集成电控系统软件设计与研究(续)
  • Linux 内核动态打印调试(dev_info、 dev_dbg )
  • 深入浅出AXI协议(3)——握手过程
  • Ansible学习笔记5