層疊加的五條疊加法則(一)

來源:互聯網
上載者:User
-

[參與測試的瀏覽器:IE6 / IE7 / IE8 / FF3 / OP9.6 / SF3 / Chrome2 ]
[作業系統:Windows]

貌似很多同學對為什麼這個div在上層,那個div在下層、無論如何設定z-index都無法居上的問題糾結抓狂、上吐下瀉、噁心失眠、鬱郁而終,致使不敢隨意使用層的疊加。但層的疊加效果,在互動設計中卻頻頻出現,所以我們必須駕馭它,要駕馭它,就要掌握其規律。

首先明確幾點在文中所需要用到的概念

  1. 靜態定位:position:static(為position屬性的預設值)。
  2. 動態定位:position:relative或position:absolute或position:fixed。
  3. 祖元素:任意包含該元素的元素。
  4. 父元素:直接包含該元素的祖元素。
  5. 同輩元素:擁有共同的父元素的元素。

註:這些概念為作者自訂,僅用於本文。

引用:

關於同輩元素是個非常關鍵的詞,這裡還需要詳細解釋一下。

<div>
    <div></div>
    <div id="a"></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>
<div id="f">
    <div></div>
    <div id="b"></div>
    <div id="c"></div>
    <div></div>
    <div></div>
    <div></div>
</div>

在這個例子中,div#a與div#b並不是“同輩元素”,只有像div#b和div#c這樣擁有同樣父體div#f的的元素才能叫“同輩元素”。

引用結束

接下來看看這五條法則

法則一:同輩元素定位方式相同,且無z-index設定時,html靠後者居上。

代碼:

<!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" />
  <meta name="author" content="Chomo" />
  <link rel="start" href="http://www.14px.com/" title="Home" />
  <title>法則一:同輩元素定位方式相同,且無z-index設定時,html靠後者居上。</title>
 </head>
 <style type="text/css">
  div { font:12px/1.5 arial;}
  div strong { color:#fff; background:#036; display:inline-block;}
  h3 strong { color:#f00;}
  /*--- 定義方塊外形 ---*/
  .div1,
  .div2 {
   height:70px;
   width:150px;
   background:#cff;
   border:1px solid #036;
  }
  .grandDiv1,
  .grandDiv2 {
   padding:10px;
   border:1px solid #060;
   width:174px;
   background:#cf9;
  }
  .parentDiv1,
  .parentDiv2 {
   padding:10px;
   border:1px solid #f06;
   width:152px;
   background:#fcf;
  }
  /*--- 定義方塊位移位置、文字位置 ---*/
  .grandDiv2 {
   margin-top:-50px;
   margin-left:95px;
  }
  .parentDiv2 {
   margin-top:-40px;
   margin-left:85px;
  }
  .div2 {
   margin-top:-20px;
   margin-left:75px;
   padding-top:30px;
   height:40px;
  }
  .grandDiv2 .parentDiv2,
  .grandDiv2 .div2,
  .parentDiv2 .div2 { margin:0;}
 </style>
 <body>
  <h3>法則一:同輩元素定位方式相同,且無z-index設定時,html靠後者居上。</h3>
  <div class="div1">.div1{position:static}</div>
  <div class="div2">.div2{position.static}</div>
  <div class="div1" style="position:relative;">.div1{position.relative}</div>
  <div class="div2" style="position:absolute;">.div2{position.absolute}</div>
 </body>
</html>

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.