亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

css混合布局遇到問題

<!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 type="text/css">

body{ margin:0; padding:0; font-size:30px; color:#fff}

.top{height:100px;background:#D4CDD4;position:relative;}

.head{width:800px;height:100px;background:#C2B9B9;margin:0 auto;}

.main{width:800px;height:600px;background:red;margin:0 auto;position:relative;}

.right{height:600px;background:#00CC99;margin-left:210px;}

.left{width:200px;height:600px;background:#0000ff;position:absolute;top:0;left:0;}

.foot{height:100px;background:orange;}

</style>


</head>


<body>

<div class="top">top

<div class="head">head</div>

</div>

<div class="main">

? ? <div class="right">right</div>

? ? <div class="left">left</div>

</div>

<div class="foot">foot</div>

</body>

</html>

這是我的代碼,想實現像教學視頻中,top塊里面套一個居中的head塊,main部分有左右兩欄,左邊定寬右邊自適應,foot塊在最下方,遇到兩個問題

  1. 首先我的代碼中top和head高度相同,但顯示出來head塊雖然居中了但高度沒有把top塊填滿,這是為什么呢?之后我用定位的方法,top(relative)head(absolute),然后設置top:0 能夠填滿,但是這樣就設置不了居中了。。

  2. 第二個是main塊左右欄問題,最開始我沒用定位用的浮動,但是left塊就跑到main塊下面了,如果把HTML里面left和right的位置換過來就好了,這是為什么呢?

問題比較瑣碎,麻煩大家幫忙看一下,非常感謝

正在回答

3 回答

我覺得,你需要去理解一下標準文檔流(flow)。我只知道有float和postion:absolute可以將元素從文檔流中抽離出來。

問題1:top{position:relative}沒有將top從文檔流中抽離出來。所以top和head還是在文檔流中,top類中內容“top”,會占一行。所以head從下一行開始。將內容“top"刪除,就可以看到高度填滿了。

問題2:沒有用“position:absolute;top:0;left:0;”的話,類left和類right都塊元素,且在文檔流中,兩者都要占整行,所以left塊是跑到right塊下面一行。 在代碼<body>中如果把left和right的位置交換,我測試的結果是right塊會在left塊下面一行。

希望能幫到你。

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

圓臉哥哥 提問者

非常感謝!
2016-09-03 回復 有任何疑惑可以回復我~

提供一個參考意見吧:

問題2你說?用浮動結果left跑到下一行去了可能是因為這樣:

A: ?

57bea43600018af805000460.jpg


http://img1.sycdn.imooc.com//57bea44e0001139018250902.jpg

原因是你給left right其中一個加了float;解決方法是給兩個都加上float.(但這樣right會變瘦...還不如用relative+absolute)

其它問題,我愛莫能助了,最后也只做到了:http://img1.sycdn.imooc.com//57bea4ec0001b1a719190904.jpg

抱歉,沒有達到你的要求。

同樣期待有人能解決這個問題呀!

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

技術不夠啊,第一個問題我也不知道,按照老師寫的輸入就可以,把你的輸入進去怎么都改不不來,不知道咋回事!第二個問題你需要改仔細修整一下你的代碼,我感覺比較亂,如果使用浮動呢,都可以把左右塊的浮動都加上就好了,如果使用position就把布局都采用這個就好了,不要混亂用!除非特殊情況例如三列或兩列中需要寬度自適應的

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

舉報

0/150
提交
取消
如何用CSS進行網頁布局
  • 參與學習       209566    人
  • 解答問題       1206    個

用最簡潔的案例教你布局的那些知識,這是前端工程師基本技能

進入課程

css混合布局遇到問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號