为了账号安全,请及时绑定邮箱和手机立即绑定

自己写了一段代码,发现这种方法好像并不居中,没发现问题在哪?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>相对位置</title>
<style>
#div1{
	border:1px solid red ;
	width:400px;
	height:400px;
	margin:0 100px;
	}
#div2{
	border:1px solid red ;
	width:100px;
	height:100px;
	float:left;
	position:relative;
	left:50%
	
	}
#div3{
	border:1px solid red ;
	width:50px;
	height:50px;
	position:relative;
	left:-50%
	}
</style>
</head>

<body>
<div id="div1">
	<div id="div2">
    	<div id="div3"></div>
    </div>
</div>
</body>
</html>

http://img1.sycdn.imooc.com//57997afe0001fad603610355.jpg

正在回答

3 回答

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>相对位置</title>
<style>
#div1{
    border:1px solid red ;
    width:400px;
    height:400px;
    margin:0 100px;
    }
#box1{
    float:left;
    position:relative;
    left:50%;
}
#div2{
    border:1px solid red ;
    width:100px;
    height:100px;
    position:relative;
    left:-50%
    }
#box2{
    float:left;
    position:relative;
    left:50%;
    clear:both;
}
#div3{
    border:1px solid red ;
    width:50px;
    height:50px;
    position:relative;
    left:-50%
    }
</style>
</head>
 
<body>
<div id="div1">
    <div id="box1">
        <div id="div2">
            <div id="box2">
                <div id="div3"></div>
            </div>
        </div>
    </div>
</div>
</body>
</html>

不知道你是不是想要这种效果,希望对你有帮助

0 回复 有任何疑惑可以回复我~
#1

qq_云淡风轻_48

我这是相对上一层的居中,如果想要对浏览器居中还需要在最外面再套一个盒子
2016-08-04 回复 有任何疑惑可以回复我~
#2

qq_云淡风轻_48

还有你这是定宽的块元素,可以直接用margin取值auto
2016-08-04 回复 有任何疑惑可以回复我~
#3

Dberglas 提问者 回复 qq_云淡风轻_48

是的,那时候提问的,后来再看一遍教程就明白了,只是不熟悉的原因
2016-08-06 回复 有任何疑惑可以回复我~

题主没有陈述清所问的问题(想要什么效果?到底是要谁相对于谁居中?),目前有一个简单的修改可以使div3相对于div1居中,修改如下:有一个错误,对于div3的left:-50%,所引用的是div2宽度的50%,也就是50px而非25px。如果想要别的效果的话我们可以一起探讨一下。(ps:回复请点击答案右下角的回复按钮。)

0 回复 有任何疑惑可以回复我~

<html xmlns="http://www.w3.org/1999/xhtml">


<head>


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<title>Рהλ׃</title>


<style>


#div1{


    border:1px solid red ;


    width:400px;


    height:400px;


    margin:0 100px;

position:relative;


    }


#div2{


    border:1px solid red ;


    width:100px;


    height:100px;

    margin-left:auto;

margin-right:auto;

     


    }


#div3{


    border:1px solid red ;


    width:50px;


    height:50px;


    


    

margin-left:auto;

margin-right:auto;


    }


</style>


</head>


 


<body>


<div id="div1">


    <div id="div2">


        <div id="div3"></div>


    </div>


</div>


</body>


</html>


0 回复 有任何疑惑可以回复我~
#1

Dberglas 提问者

你这种思路能够居中,但是思路和教程里不一样。假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。没搞明白后两句话为什么这么写
2016-07-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

自己写了一段代码,发现这种方法好像并不居中,没发现问题在哪?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号