美文网首页
前端垂直居中解决方案

前端垂直居中解决方案

作者: cythia_yyy | 来源:发表于2018-04-13 17:34 被阅读0次

代码示例为微信小程序的开发

WXML

<view class="outer">
    <text class="innerText">单行文本</text>
    <!-- <text class="innerMoreText">多行文字多行文字多行文字多行文字多行文字</text> -->
    <!-- <image class="innerImage" src="../../images/tape.png"></image> -->
</view>

外部元素定高

WXSS

.outer {
  height: 200rpx;
}
行内元素

1.单行文本:line-height

.outer .innerText {
  line-height: 200rpx;
}

2.多行文本:display: table 和 display: table-cell

.outer {
  display: table;
}
.outer .innerMoreText {
  display: table-cell;
  vertical-align: middle;
}
块级元素

WXSS

.outer .innerImage {
  width: 60rpx;
  height: 60rpx;
}
  1. 单一图片:position:absolute 、top 和 margin-top
.outer {
  position: relative;
}
.outer .innerImage {
  position: absolute;
  top: 50%;
  margin-top: -30rpx;
}
  1. 单一图片:position:absolute 和 margin:auto (水平垂直居中)
.outer {
  position: relative;
}
.outer .innerImage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
  1. 单一图片:position 和 transform
.outer {
  position: relative;
}
.outer .innerImage {
  position: absolute; // relative定位也可
  top: 50%;
  transform: translateY(-50%);  // 2D转换 沿Y平移
}
  1. 单一图片:display: table-cell 和vertical-align: middle
// 前提是把.outer放在一个block容器内
.outer {
  display: table-cell;
  vertical-align: middle;
}
.outer .innerImage {
  vertical-align: middle;
}
  1. 单一图片:flexbox布局
// 内部. innerImage不需要做其他处理
.outer {
  display: flex;
  align-items: center;
}
文字图片同行垂直居中
  1. line-height 和 vertical-align
.outer {
  height: 200rpx;
  line-height: 200rpx;
}
.outer .innerText {
  vertical-align: middle;
}
.outer .innerImage {
  vertical-align: middle;
}
  1. flexbox布局
// 内部元素不需要做处理 但是内部元素float属性失效
.outer {
  height: 200rpx;
  display: flex;
  align-items: center;
}

外部元素不定高

  1. 行内元素(文本)和块级元素(图片)同行居中:display: inline-block 和 display: inline-block
// .outer高度被图片高度自动撑开
.outer .innerText {
  display: inline-block;
  display: inline-block;
}
.outer .innerImage {
  width: 60rpx;
  height: 60rpx;
  display: inline-block;
  vertical-align: middle;
}

找到新的方案会继续更新哦~

相关文章

  • 前端垂直居中解决方案

    代码示例为微信小程序的开发 WXML 外部元素定高 WXSS 行内元素 1.单行文本:line-height 2....

  • 元素居中解决方案

    html: css:1水平居中:解决方案1: 解决方案2: 解决方案3: 2垂直居中:解决方案1: 解决方案2: ...

  • CSS居中方案汇总全家桶

    水平居中垂直 / 垂直居中是前端开发中常见的需求,今天就总结一下各式各样的水平 / 垂直居中,为方面描述,以下代码...

  • CSS解决居中问题方案汇总

    在你刚入前端之初,居中这个问题有时候会带给你一些烦恼,特别是垂直居中,这篇博客将从水平居中——垂直居中——整体居中...

  • css实现水平垂直居中的方法总结

    css实现水平垂直居中的方法总结 实现水平垂直居中你有多少种方法?这是前端面试必考题啊!-=- 这段时间公司招前端...

  • css有哪些方式可以实现垂直居中

    1.背景介绍 居中是前端排版的一个重要话题,今天我们就来梳理一下垂直居中的方法。 2.知识剖析 布局的解决方案,基...

  • 前端开发之CSS实现在网页正中间显示的弹出层

    一直以来,让前端工程师头疼的问题肯定包括垂直居中这个问题吧,什么文字垂直居中,图片垂直居中之类的,很头疼对不对,如...

  • 4种常用方式实现前端垂直居中

    垂直居中 4种常用方式实现前端垂直居中Demo地址基本html结构 基本css样式 1. 定位布局 利用relat...

  • 页面架构

    布局解决方案 水平居中布局 垂直居中布局 水平垂直都居中的布局 多列布局 多列等分布局 多列等高布局 在多列布局的...

  • 前端之布局解决方案

    总结在前,代码在后 文章讲解了水平居中、垂直居中和居中布局解决方案,其实不难发现,在所有这些解决方案里面,都是利用...

网友评论

      本文标题:前端垂直居中解决方案

      本文链接:https://www.haomeiwen.com/subject/ecrkhftx.html