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

【Effective Web】常见的css居中方式

CSS居中方式

水平居中

text-align:center

适用范围:容器中都是行内元素
缺点:容器内所有元素都会居中,如果是文本描述需要左对齐,需要增加text-align:left覆盖

margin: 0 auto

适用范围:容器宽度固定。子元素宽度固定
缺点:对上下居中不适用

垂直居中

借助table-cell的垂直居中

给容器加上

{display: table-cell;vertical-align: middle;
}

缺点:margin属性失效

相对定位

父相子绝,原理是子元素相对父容器先向右向下偏移父容器的50%,再向左向上偏移子元素的50%
父容器position属性为relative,子元素加上以下样式

{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);
}

适用范围:父子元素宽度高度固定,且子元素只有一个
缺点:如果子元素是文本,可能会导致换行

flex布局

容器加上

{display: flex;align-items: center;justify-content: center;
}

行内元素的垂直居中

html如下:

    <div class="container"><img src="../img/Karen-Pape-1800x1200.webp" alt="" /><span>湖泊</span></div>

改变元素的居中方式,设置行高与容器高度一致

    img,span {vertical-align: middle;line-height: 500px;}

在这里插入图片描述
缺点:需要改变行高

多行文本的垂直居中

给文本增加span,设置span为inline-block,容器本身height与line-height相等

.container {height: 500px;line-height: 500px;
}.container {span {display: inline-block;line-height: normal;vertical-align: middle;margin: 0 20px;}}

相关文章:

  • http网络服务器
  • Oracle 打开钱包 ORA-28368: cannot auto-create wallet
  • 响应式网页开发方法与实践
  • C++Primer Plus复习题(第六章)
  • Linux 内核 (十二)进程间通讯 之 消息队列
  • 深入掌握SystemVerilog验证:《SystemVerilog验证 测试平台编写指南》(可下载)
  • 巴中青少年编程:开启未来科技的无限可能
  • Science Online《科学周刊》文献在家如何查找下载
  • 针对k8s集群已经加入集群的服务器进行驱逐
  • OpenSSL新手教程:加密与安全通信基础
  • Hadoop 3.X HA集群部署
  • Vue页面生成PDF后调起浏览器打印
  • 基于Pytorch实现AI写藏头诗
  • JWT工具【工具类】
  • cdh zookeeper报错 Canary 测试建立与 ZooKeeper 服务的连接或者客户端会话失败。
  • Android Volley源码解析
  • android图片蒙层
  • es6--symbol
  • Java 最常见的 200+ 面试题:面试必备
  • Joomla 2.x, 3.x useful code cheatsheet
  • JS字符串转数字方法总结
  • k8s如何管理Pod
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • mongodb--安装和初步使用教程
  • MySQL用户中的%到底包不包括localhost?
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • SwizzleMethod 黑魔法
  • vue.js框架原理浅析
  • 新书推荐|Windows黑客编程技术详解
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • postgresql行列转换函数
  • 第二十章:异步和文件I/O.(二十三)
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ‌[AI问答] Auto-sklearn‌ 与 scikit-learn 区别
  • # include “ “ 和 # include < >两者的区别
  • # linux 中使用 visudo 命令,怎么保存退出?
  • # Redis 入门到精通(七)-- redis 删除策略
  • ######## golang各章节终篇索引 ########
  • #android不同版本废弃api,新api。
  • #Linux(帮助手册)
  • #vue3 实现前端下载excel文件模板功能
  • #控制台大学课堂点名问题_课堂随机点名
  • $.ajax,axios,fetch三种ajax请求的区别
  • (2.2w字)前端单元测试之Jest详解篇
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (二)c52学习之旅-简单了解单片机
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (离散数学)逻辑连接词
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (七)Java对象在Hibernate持久化层的状态
  • (十三)Flask之特殊装饰器详解
  • (推荐)叮当——中文语音对话机器人
  • (自用)交互协议设计——protobuf序列化