第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

為什么li沒有排成一行?謝謝

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>不定寬塊狀元素水平居中</title>
<style>
.container{
??? float:left;
?? ?position:relative;
?? ?left:50%;
?? ?border:1px solid blue;
}
.container ul{
?? ?list-style:none;
?? ?margin:0;
?? ?padding:0;?? ?
?? ?position:absolute;
?? ?left:-50%;
?? ?border:1px solid red;
}
.container li{float:left;display:inline;margin-right:8px;}
</style>
</head>

<body>
<div class="container">
?? ?<ul>
?? ??? ?<li><a href="#">1</a></li>
??????? <li><a href="#">2</a></li>
??????? <li><a href="#">3</a></li>
??? </ul>
</div>
</body>
</html>

http://img1.sycdn.imooc.com//59b1576f0001b50d06630365.jpg


正在回答

4 回答

我替樓上的小伙伴解答了吧,雖然碼字有點(diǎn)麻煩

1.1 設(shè)置float后會(huì)自動(dòng)把塊級(jí)元素的行框縮短至內(nèi)容+內(nèi)邊距+外邊距+邊框大小,你如果給div設(shè)置了足夠的width或者padding就會(huì)發(fā)現(xiàn)也會(huì)排列成一行.

1.2 刪除float以后div的寬度變成body的100%,div右移50%,后面ul又相對(duì)div向左移動(dòng)了50%,所以會(huì)左對(duì)齊,同時(shí)也證實(shí)了1.3的寬度是div的寬度這一點(diǎn).

1.3 -50%中的50%指的是父元素的寬度,即div的寬度.

.container{
????padding:50px;
????float:left;
????position:relative;
????left:50%;
????border:1px?solid?blue;
}

2.這個(gè)問題同1.1,設(shè)置的寬度不會(huì)被縮減,所以可以排成一列

3.絕對(duì)定位移動(dòng)后會(huì)生成一個(gè)塊級(jí)框,而不論原來它在正常流中生成何種類型的框,同時(shí)會(huì)縮減塊級(jí)元素行框大小.刪除absolute或者改為relative都會(huì)自動(dòng)排成一行

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕神6115920 提問者

非常感謝,我終于明白了
2017-09-17 回復(fù) 有任何疑惑可以回復(fù)我~
#2

一只胡思亂想的豬 回復(fù) 慕神6115920 提問者

不客氣
2017-09-20 回復(fù) 有任何疑惑可以回復(fù)我~

通過樓上朋友的建議,現(xiàn)在總結(jié)了3個(gè)解決方法:

1、div.container去掉float:left ;? 結(jié)果:li成了一行,但ul不居中了,除非再把ul的left:-50%;去掉

?問題:1》為什么去掉float后li成一行?

????????????2》為什么去掉float后ul才會(huì)左對(duì)齊?

??????????? 3》去掉float后,div是relative,ul是absolute,ul的偏移應(yīng)該參照父元素div,那么left:-50%;的50%是誰的寬度的50%?

2、.container ul設(shè)置寬度;

問題:一般ul不需要設(shè)置寬度,li設(shè)置好后自成一行。為什么設(shè)置了ul的寬度后,才會(huì)一列?

3、你的辦法,.container ul去掉absolute;

問題:為什么要去掉absolute???我感覺absolute不影響,僅僅脫離了文檔流,內(nèi)容該怎么顯示就怎么顯示。

0 回復(fù) 有任何疑惑可以回復(fù)我~

.container ul{
?? ?list-style:none;
?? ?margin:0;
?? ?padding:0;?? ?
?? ?position:absolute;
?? ?left:-50%;
?? ?border:1px solid red;
}你這個(gè)用了絕對(duì)定位,把它去掉就好!

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕神6115920 提問者

謝謝。目前有3個(gè)解決方法:1、div.container去掉float:left ;2、.container ul設(shè)置寬度;3、你的辦法,.container ul去掉absolute; 我實(shí)際不想知道答案(解決辦法),因?yàn)槲易约簻y(cè)試的時(shí)候已經(jīng)找到了前2個(gè)辦法,我最想知道的是原因在哪里,為什么會(huì)這樣顯示,我想不通為什么這樣設(shè)置會(huì)出錯(cuò)?
2017-09-08 回復(fù) 有任何疑惑可以回復(fù)我~

你沒有給他們?cè)O(shè)寬度 給.container或ul設(shè)個(gè)寬度就可以了

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕神6115920 提問者

謝謝,一般不用設(shè)置寬度,ul是塊級(jí)元素占滿行,因?yàn)樵O(shè)置了float,寬度自動(dòng)會(huì)根據(jù)內(nèi)容最小化。
2017-09-08 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕神6115920 提問者

你可以測(cè)試一下,這就是一行 <style type="text/css"> ul{ border:1px dotted red; float:left; } li{ display:inline;} </style> </head> <body> <ul> <li>11</li> <li>111</li> <li>11</li> </ul> </body>
2017-09-08 回復(fù) 有任何疑惑可以回復(fù)我~
#3

慕神6115920 提問者

一般不設(shè)置寬度,可為什么設(shè)置寬度會(huì)排成一行?謝謝
2017-09-08 回復(fù) 有任何疑惑可以回復(fù)我~
#4

Cam_ 回復(fù) 慕神6115920 提問者

這個(gè)沒加父相對(duì)子絕對(duì)吧
2017-09-08 回復(fù) 有任何疑惑可以回復(fù)我~
#5

Cam_ 回復(fù) 慕神6115920 提問者

太久沒復(fù)習(xí)了 有些不熟悉了 這么說吧 ul的每個(gè)li都會(huì)自動(dòng)占一行 給ul設(shè)置一個(gè)固定的寬度后 ul下面的li就會(huì)在固定的寬度中顯示 但如果li的寬度合超過ul的固定寬度 就會(huì)變成原樣 不知道這么說對(duì)不對(duì) 歡迎指正
2017-09-08 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

舉報(bào)

0/150
提交
取消

為什么li沒有排成一行?謝謝

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)