面试官:居中对齐有哪些实现方式?

简介: 面试官:居中对齐有哪些实现方式?

不要屈从,不要流泪,不要试着合乎情理,不要为了媚俗而去改变你的灵魂;相反,果断地追随让你强烈痴迷的事物。——卡夫卡

在网页设计中,时常会有居中的样式需求。

居中,兼具汇聚、对称的美感。

而在前端开发中,通过css样式实现元素居中有多种方式。

水平居中(Center Horizontally)

1.行内级(内联)元素:

  • 设置父级元素text-align属性为center。

2.块级元素:

  • 设置当前块级元素(宽度) margin: 0 auto;

3.绝对定位

  • 元素不知宽度情况下(或者不想考虑元素宽度), left: 0;right: 0; margin: 0 auto;
  • 元素已知宽度可以,left: 50%; margin-left: 负值; (负值为元素宽度一半)

4.flex

  • justify-content: center;

垂直居中(Center vertically)

“44 年前我们就把人类送上月球了,但现在我们仍然无法在 CSS 中 实现垂直居中。”

--Jams Anderson

1.行高(令单行文字垂直居中)

line-height = 文字所在盒子高度,文字将垂直居中显示。

2.绝对定位

  • 元素有高度情况下, top: 0;bottom: 0;margin: auto 0;
  • 缺点:
    (1) 必须使用定位(脱离标准流)。
    (2) 需要给元素设置高度。

3.flex布局

align-items:center;

  • 缺点: flex container中所有的元素都会垂直居中显示。

4.定位加形变 position/translate

分两步走

1.让需要居中的元素向下位移父级元素content高度的50%。

2.让需要居中的元素向上位移自身高度的50%。

margin-top的百分比是相对于包含块(父元素)的宽度。

margin-top: 50%; 
position: relative;
top: 50%;
transform: translate(0, -50%);`

其中水平居中的margin-left负值方案可换成margin-top负值使得垂直居中;

垂直居中的translate方案同样可用于水平居中。

更多方法总结参考

相关文章
|
2月前
|
前端开发
css元素实现垂直竖直万能居中
css元素实现垂直竖直万能居中
20 0
|
2月前
|
前端开发 UED
深入理解CSS中的文本对齐方式:水平对齐与垂直对齐
深入理解CSS中的文本对齐方式:水平对齐与垂直对齐
35 5
|
1月前
|
前端开发
css 图标和文字对齐 —— 垂直居中对齐,任意位置对齐
css 图标和文字对齐 —— 垂直居中对齐,任意位置对齐
41 2
|
1月前
|
前端开发 容器
CSS【详解】对齐 (含文本垂直对齐,文本水平对齐、单行文本垂直居中、多行文本垂直居中、6 种方案块级元素水平垂直居中 、7 种方案图片水平垂直居中、文本自适应对齐、图标和文本对齐,图片和文本对齐等)
CSS【详解】对齐 (含文本垂直对齐,文本水平对齐、单行文本垂直居中、多行文本垂直居中、6 种方案块级元素水平垂直居中 、7 种方案图片水平垂直居中、文本自适应对齐、图标和文本对齐,图片和文本对齐等)
27 0
|
3月前
|
Web App开发
奇怪的间隙和垂直对齐问题
奇怪的间隙和垂直对齐问题
14 2
|
前端开发 容器
《web前端面试题》第一问-如何快速居中对齐?
《web前端面试题》第一问-如何快速居中对齐?
128 0
试试用flex处理直线和其他元素居中
试试用flex处理直线和其他元素居中
67 0
盒子居中效果案例(使用位移方法)
盒子居中效果案例(使用位移方法)
86 0
盒子居中效果案例(使用位移方法)
|
算法 前端开发
居中对齐的几种方法
居中对齐的几种方法
132 0
|
前端开发
面试官:请实现三栏布局,尽可能多的方式。
在面试中我们经常会被问到一个简单的问题,那就是"实现一个三栏布局,左右固定,中间自适应"。这个问题就是考察知识点就是页面布局,我们是实际的项目开发中,也经常会遇到这个问题。其实我发现一个前端开发人员有一个通病,包括我自己也是,"觉得CSS不是很重要,不需要深入的学习",这其实是一个比较糟心的想法。在项目中经常出现错乱的布局,但是并不知道原因。所以我们今天来简单总结一下有那些方式可以实现三栏布局。
114 0