Web前端面试指导(十四):如何居中一个元素(正常、绝对定位、浮动元素)?

题目点评

这道题目的提问比较多,连续问了三个问题,正常元素、绝对定位元素、互动元素如何居中,而且居中没有说清楚是垂直居中还是水平居中,要回答清楚这个问题,必须得有深厚的功底,而且要分类的来回答,条理要清楚。可以先把水平居中各种情况说清楚,然后在把垂直居中说清楚。

(一)元素水平居中的方式

1)行级元素水平居中对齐(父元素设置 text-align:center)

[html] view plain copy

  1. <div style="width: 200px; height: 100px;border: 1px solid;text-align:center;">
  2. <span>行级元素垂直居中</span>
  3. </div>

2)   块级元素水平居中对齐(margin: 0 auto)

[html] view plain copy

  1. <div style="width: 200px; height: 100px;border: 1px solid;text-align: center;">
  2. <div style="border: 1px solid red;margin: 0 auto;height: 50px;width: 80px;"> 块级元素水平居中</div>
  3. </div>

3)浮动元素水平居中

  • 宽度不固定的浮动元素

html代码

[html] view plain copy

  1. <div class="outerbox">
  2. <div class="innerbox">我是浮动的</div>
  3. </div>

CSS样式

[css] view plain copy

  1. .outerbox{
  2. float:left;
  3. position:relative;
  4. left:50%;
  5. }
  6. .innerbox{
  7. float:left;
  8. position:relative;
  9. right:50%;
  10. }

  • 宽度固定的互动元素

html代码

[html] view plain copy

  1. <div class="outerbox">
  2. <div>我是浮动的</div>
  3. </div>

css代码

[css] view plain copy

  1. .outerbox{
  2. background-color:pink; /*方便看效果 */
  3. width:500px ;
  4. height:300px; /*高度可以不设*/
  5. margin: -150px 0 0 -250px; /*使用marin向左移动250px,保证元素居中*/
  6. position:relative;   /*相对定位*/
  7. left:50%;
  8. top:50%;
  9. }

4)让绝对定位的元素水平居中对齐

这种方式非常独特,大家一定要记牢这种方式,会用这种方式的薪资待遇必然高出几千¥

[css] view plain copy

  1. .center{
  2. position: absolute; /*绝对定位*/
  3. width: 500px;
  4. height:300px;
  5. background: red;
  6. margin: 0 auto; /*水平居中*/
  7. left: 0; /*此处不能省略,且为0*/
  8. right: 0; /*此处不能省略,且为0*/
  9. }

经验分享:水平居中的主要属性有

1. text-alin:center;

2. margin:0 auto

3. position:relative|absolute; left:50%;

(二)元素垂直居中对齐

1)对行级元素垂直居中(heiht与line-height的值一样)

[css] view plain copy

  1. height:300px;
  2. line-height:300px;

2)对块级元素垂直居中对齐

2.1 父元素高度固定的情况

1)父元素的height与line-height值相同

2)需要垂直居中的元素

vertical-align:middle;// 垂直居中对齐

display:inline|inline-block 块级元素转行级元素

HTML代码

[html] view plain copy

  1. <div class="center">
  2. <div class="inner"></div>
  3. </div>
CSS代码

[css] view plain copy

  1. .center{
  2. width: 500px;
  3. height:300px;
  4. line-height: 300px;
  5. border:1px solid;
  6. }
  7. .inner{
  8. background: blue;
  9. width: 300px;
  10. height: 100px;
  11. display: inline-block;
  12. vertical-align: middle;
  13. }

2.2 父元素高度不固定的情况

父元素的padding-top和padding-bottom一样

--------------------------------------------------------------------------------------------------------------------

如果看不懂,可以看视频操作,代码演示 http://www.chuanke.com/3885380-190205.html

时间: 2024-08-01 06:45:45

Web前端面试指导(十四):如何居中一个元素(正常、绝对定位、浮动元素)?的相关文章

Web前端面试指导(十):元素定位有哪些?

本题点评 在web前端中,元素定位是必须掌握的,是网页制作的必备技能,也是衡量是否为一个合格的web前端开发的标准之一,在网页设计中,很多地方都需要使用定位,例如菜单弹出,提示信息层等都需要定位.所以本题的难易程度为简单. 解题思路 position为元素定位属性,包含以下属性值 1. absolute绝对定位 相对位置为父元素为非static的第一个父元素进行定位. 2. fixed  固定定位(老IE6不支持) 相对于浏览器窗口进行定位. 3. relative相对定位 相对于其正常(默认布

Web前端面试指导(十九):CSS样式-如何清除元素浮动?

题目点评 本题属于比较常问的题目,也是在网页设计中经常遇到的问题,面试官希望通过这样的面试题来了解你对网页设计的基本功底,如果这样的题目答不出来,必会让面试官大失所望,面试成功的概率是非常小的. 答题思路 可以先回答在工作上常用的清除方法,并说明为什么使用它,然后在讲一些其它的清除方法来说明你的思维广阔,知识丰富的一面. 浮动的方式有以下4种. 1.使用clear:both清除浮动 示例1:使用div html代码 css代码 <div class="box"> <d

Web前端面试指导(十六):为什么要初始化CSS样式?

题目点评 这个题目乍一看感觉怪怪的,什么叫初始化样式了?如果换一句话你可能就理解了,就是通用样式.这道题目主要涉及的是理论方面的知识,不用写代码,只要描述清楚就可以了 初始化样式的原因 因为浏览器的兼容的问题,不同浏览器有些标签的默认值是不同的,如果没有CSS初始化往往会出现浏览器之间的页面显示差异.

Web前端面试指导(十五):CSS样式-display有哪些作用?

题目点评 其实就是要你说清楚该属性有哪些值,每个值都有什么作用,这个题目可以答得很简单,但要答全也并非是一件容易的事情. 元素默认的display值的情况如下(这个一般很少人注意这一点) block(块级元素) <div>.<p> <ul> <ol> <form> -- inline(内联元素) <span> <a> <img> <input> <select> <label>

Web前端面试指导(十二):::before 和:before有什么区别?

题目点评 这个问题看来很简单,但如果之前没有琢磨这个问题,给人感觉也是门头一垂,听到这个题目就懵逼了,因为原来从来没有注意过这个问题,即便有注意这个问题也不能很好的回答清楚.回答的技巧就是从相同点和不同点,以及他们的作用,及注意事项上去回答. 解答要点  相同点 都可以用来表示伪类对象,用来设置对象前的内容 :befor和::before写法是等效的  不同点 :befor是Css2的写法,::before是Css3的写法 :before的兼容性要比::before好 ,不过在H5开发中建议使用

Web前端面试指导(十八):用纯CSS创建一个三角形的原理是什么?

题目点评 三角形的图标在网页设计是很常见的,属于基本常识题,只要在练习做到过这个功能都能回答出来,可以把你做过的思路描述出来就可以了,本题的难易程度为简单 答题要点 1.采用的是均分原理 盒子都是一个矩形或正方形,从形状的中心,向4个角上下左右划分4个部 2.代码的实现 第一步 保证元素是块级元素 第二步 设置元素的边框 第三步 不需要显示的边框使用透明色 示例代码 [css] view plain copy .square{ width:0; height:0; margin:0 auto;

Web前端面试指导(二):编写简历,吃透简历内容

2.1 简历模板(仅供参考,不得千篇一律) ~~~~~~温馨提示~~~~~~简历模板文件在QQ群 490916635  2.2 吃透简历内容 2.2.1 吃透自己的简历 简历出现的名词术语要非常熟悉 简历出现的技术要熟练应用,不能熟练的死记硬背也要记下 对于项目要非常熟悉,非常清楚自己所负责的模块 对自己的学历.阅历要非常清楚,特别是那些虚构的,更要下功夫. 2.2.2  项目经验修 Web前端项目经验一般要求在2~3年 项目个数不能少于3个,最好在3~4个之间,也不要太多. 2.2.3 进行模

Web前端面试指导(二十):JavaScript中如何翻转一个字符串?

题目点评 字符串作在程序中是非常常见的,因为程序中绝大部分的数据都可以当作字符串来处理.需要对字符的处理方法比较熟悉,在回答的时候尽量能够说出多种解决方法更好! 字符串翻转的方法 1)使用字符串函数 [javascript] view plain copy //str=hello function reverseString(str) { var array = str.split('');//['h','e','l','l','o']; array = array.reverse();// [

Web前端面试指导(四):面试前准备-有备而去百战百胜

4.1 步了解公司情况,准备三个问题向对方提问 ü  公司产品介绍 ü  营利模式 ü  发展方向 4.2 项目准备和可能会问到的技术点复习 ü  盒子模型 ü  异步处理 ü  跨域请求 ü  JSON格式 4.3  准备几个可能会问到的问题 ü  你在项目中遇到哪些难以解决的问题,你是如何处理的? ü  你是如何带领团队的? 回答思路: 人的因素 把合适的人放在合适的位置 善于沟通和协调 注意团队的和谐和团结 以结果为导向(奖惩分明) ü  你是如何作风险把控的? 做好工作计划,精确到人和时