2-12编程练习 关于块级元素居中问题

2-12编程练习 关于块级元素居中问题

<!DOCTYPE html>
<html>
<head>
	<title>2-12</title>
	<meta charset="utf-8">
	<style type="text/css">
		*{padding:0;margin:0;}
		li{list-style:none;}
		.header{width:100%;background:#000;overflow:hidden;}
		.logo{margin-left:20px;float:left;}
		.nav{float:right;}
		.nav ul li{width:100px;float:left;margin-right:20px;text-align:center;line-height:100px;color:#fff;font-size:20px;}
		.container{width:100%;height:800px;background:#67b581;overflow:hidden;}
		.left{width:30%;height:100%;float:left;position:relative;}
		.left-content{position:absolute;top:50%;left:50%;margin-top:-50%;margin-left:-15%;border:3px solid green}
		.left-content p{margin-top:10px;}
		.left-content p span{background:pink;margin-right:15px;}
		.middle{width:30%;height:100%;float:left;position:relative;}
		.middle-content{position:absolute;top:50%;left:50%;margin-top:-50%;margin-left:-15%;border:3px solid blue}
		.middle-content p{margin-top:10px;}
		.middle-content p span{margin-right:15px;}
		.right{width:39%;height:100%;float:left;border-left:5px solid orange;position:relative;}
		.right-content{position:absolute;top:50%;right:50%;margin-top:-39%;margin-left:-19%;border:3px solid red;}
		input{width:200px;height:30px;margin-top:10px;}
		.input-1{background:red;}
		.footer{width:100%;height:auto;background:#000;}
		.foot-nav{width:900px;margin:0px auto;overflow:hidden;}
		.foot-nav ul li{float:left;width:100px;margin-right:15px;text-align:center;line-height:100px;font-size:20px;color:#fff;}
	</style>
</head>
<body>
	<div class="header">
		<div class="logo"><img src="http://img1.sycdn.imooc.com/climg//59093e9c00016ce303000100.png"></div>
		<div class="nav">
			<ul>
				<li>课程</li>
				<li>职业路径</li>
				<li>实战</li>
				<li>猿问</li>
				<li>手记</li>
			</ul>
		</div>
	</div>
	<div class="container">
		<div class="left">
			<div class="left-content">
				<h2>课程推荐</h2>
				<p><span>职业路径</span>HTML5与CSS3实现动态网页</p>
				<p><span>职业路径</span>零基础入门Android语法与界面</p>
				<p><span>职业路径</span>IOS基础语法与常用控件</p>
				<p><span>职业路径</span>入门开发</p>
			</div>
		</div>
		<div class="middle">
			<div class="middle-content">
				<h2>相关课程</h2>
				<p><span>HTML</span><span>CSS</span><span>JavaScript</span></p>
				<p><span>HTML5</span><span>CSS3</span><span>Jquer</span></p>
				<p><span>移动端基础</span><span>移动端APP开发</span></p>
			</div>
		</div>
		<div class="right">
			<div class="right-content">
				<h2>登陆</h2>
				<p><input type="text" name="username" placeholder="请输入登陆邮箱/手机号"></p>
				<p><input type="password" name="password" placeholder="请输入登陆密码"></p>
				<p><input class="input-1" type="submit" name="submit" value="提交"></p>
			</div>
		</div>
	</div>
	<div class="footer">
		<div class="foot-nav">
			<ul>
				<li>网站首页</li>
				<li>企业合作</li>
				<li>人才招聘</li>
				<li>联系我们</li>
				<li>常见问题</li>
				<li>友情链接</li>
			</ul>
		</div>
	</div>
</body>
</html>

我想问一下块级元素居中问题,我得代码中.left-content,.middle-content,.right-content。

left-content和middle-content部分块级元素也就是绿色和蓝色我用absolute定位的时候.

margin-top和margin-left都是width和height的一半就可以定位了.

而到了right-content的块级元素也就是红色的内容部分时候,我设置了margin-left是width的一半,也就是约等于19%无法让红色的部分居中,但是设置了39%就可以,请帮忙看一下。谢谢

正在回答

登陆购买课程后可参与讨论,去登陆

1回答


你好同学,

测试了你的代码,发现绿色部分和蓝色部分并没有实现水平居中显示,如下图所示:

http://img1.sycdn.imooc.com//climg/5beb85600001779306350518.jpghttp://img1.sycdn.imooc.com//climg/5beb861e0001a56d08360482.jpg


想要实现居中效果,需要在子元素设置绝对定位,父元素设置相对定位,然后left:50%,就要margin-left:回退一半的宽度,这样就能水平居中了,垂直居中实现方法一样,

具体的实现方式如果还不会的话建议在看一下《网页布局案例》这个课程,课程中老师已经详细的讲过关于居中定位的问题,建议多听锻炼。

以下截图均为实现水平居中显示的代码,垂直居中需要自己进行计算数值修改:

http://img1.sycdn.imooc.com//climg/5beb87690001e82503540167.jpghttp://img1.sycdn.imooc.com//climg/5beb87700001baa803790188.jpghttp://img1.sycdn.imooc.com//climg/5beb87790001d37204070185.jpg

祝学习愉快!


  • qq_Lcy_6 提问者 #1
    好的,谢谢你的回答,我刚学到网页布局基础,还没学到网页案例。
    2018-11-14 11:36:24
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师