怎麼解決div覆蓋內容卻沒覆蓋的問題?

来源:http://www.cnblogs.com/androidshouce/archive/2016/06/22/5605782.html
-Advertisement-
Play Games

一、在上下結構的div佈局中,可能出現div覆蓋div,但是內容卻沒有出現覆蓋的現象。看看一個示例 1: <!DOCTYPE html> 2: <html> 3: <head> 4: <title>DIV與DIV覆蓋</title> 5: <meta http-equiv="Content-Type ...


一、在上下結構的div佈局中,可能出現div覆蓋div,但是內容卻沒有出現覆蓋的現象。看看一個示例

   1: <!DOCTYPE html>
   2: <html>
   3: <head>
   4: <title>DIV與DIV覆蓋</title>
   5: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   6: <style>
   7: .boxa,.boxb{ margin:0 auto; width:400px;}
   8: .boxa-l{ float:left; width:280px; height:80px; border:1px solid #F00}
   9: .boxa-r{ float:right; width:100px; height:80px; border:1px solid #F00}
  10: .boxb{ border:1px solid #000; height:40px; background:#999}
  11: </style>
  12: </head>
  13: <body>
  14: <div class="boxa">
  15: <div class="boxa-l">內容左</div>
  16: <div class="boxa-r">內容右</div>
  17: </div>
  18: <div class="boxb">boxb盒子里的內容</div>
  19: </body>
  20: </html>

一般想需要將“.boxa”和“.boxb”佈局是上下結構,從上圖發現在瀏覽器中看到效果是兩個盒子里內容是實現上下結構效果,但“.boxb”這個DIV跑到“.boxa”下麵去了,但內容沒有發生覆蓋,只有DIV發生覆蓋現象。

這 個原因是因為第一個大盒子里的子級使用了浮動float屬性而產生了浮動,所以導致“.boxa”沒有被撐開,而同級的“.boxb”盒子與 “.boxa”緊貼,而“.boxa”高度沒有,“.boxa”的子級浮動的與“.boxb”不是同級,“.boxb”盒子依然認為“.boxa”沒有高 度,所以導致“.boxb”DIV盒子就跑到“.boxa”子級DIV盒子下麵形成了覆蓋重疊現象。

問題解決辦法,測試有三種:

1、給boxa添加一個height屬性,height的值必須大於或等於baxa-l的高度

   1: <div class="boxa" style="height:81px;">

2、清除浮動

在“.boxa”盒子</div>閉合前加clear樣式清除浮動。

   1: //css
   2: .clear{ clear:both}
   3:
   4: //修改boxa
   5: <div class="boxa">
   6:     <div class="boxa-l">內容左</div>
   7:     <div class="boxa-r">內容右</div>
   8:     <div class="clear"></div>
   9: </div>

或者在boxb上清除浮動

   1: <div class="boxb" style="clear:both">boxb盒子里的內容</div>

3、對“.boxa”添加overflow:hidden

   1: <div class="boxa" style="overflow:hidden">
   2:     <div class="boxa-l">內容左</div>
   3:     <div class="boxa-r">內容右</div>
   4:  </div>

 

二、相鄰兩個DIV重疊覆蓋

這種問題一般是由於相鄰兩個DIV一個使用浮動一個沒有使用浮動,這樣照成兩個DIV覆蓋重疊現象。

   1: <!DOCTYPE html>
   2: <html>
   3: <head>
   4: <title>DIV與DIV覆蓋</title>
   5: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   6: <style>
   7: .bb{ float:left; border:1px solid #333; background:#FFF;height:50px;}
   8: .cc{ border:1px solid #F00;background:#CCC; height:80px}
   9: </style>
  10: </head>
  11: <body>
  12: <div class="bb">我是bb里內容</div>
  13: <div class="cc">我是dd里內容</div>
  14: </body>
  15: </html>

從 上圖或瀏覽器測試案例可以看出,“.bb”對應DIV盒子浮動覆蓋在“.cc”對應DIV盒子之上,但內容沒有覆蓋,這是因為“.bb”對應DIV盒子使 用了浮動,而同級“.cc”對應DIV盒子沒有使用浮動,一個使用浮動一個沒有導致DIV不是在同個“平面”上,但內容不會照成覆蓋現象,只有DIV形成 覆蓋現象。

解決方法:

1、都不使用浮動,去掉.bb中的float,效果如下

2、都使用浮動,給.cc添加float:left,效果如下

3、對沒有使用float浮動的DIV設置margin樣式。給.cc添加margin:100px,效果如下


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 這個模式我在書上(JavaScript設計模式)的那個章節來來回回看了幾遍,有兩個關鍵點並沒有說清楚,導致儘管錶面上是很簡單明瞭,但本質沒有說清,以下是書上的例子。 書中淡解 例子(改前): 例子(改後,命名模式): 我想不明白,憑什麼加上這個方法,就得到了優化,哪裡就解耦了。 當carManage ...
  • 說 明:作者也沒寫過什麼框架,只是分享一些自己的理解,拋磚引玉罷了。如果你寫過一些框架可能會產生一些共鳴歡迎討論,如果你正在寫或正打算寫一個框架可能 會給你一些啟發。本文以為較長可能會分多個篇博客來寫,現在能想到的是主要分為步驟、模式兩部分。如果你覺得好,按一個推薦舉手之勞讓更多的人可以看到。 步驟 ...
  • 二、允許網頁寬度自動調整 "自適應網頁設計"到底是怎麼做到的?其實並不難。 首先,在網頁代碼的頭部,加入一行viewport元標簽。 <meta name="viewport" content="width=device-width, initial-scale=1" /> viewport是網頁默 ...
  • 1、控制橫向和縱向滾動條的顯隱? <body style=”overflow-y:hidden”> 去掉x軸 <body style=”overflow-x:hidden”> 去掉y軸 <body scroll=”no”>不顯 2、表格變色 <TD onmouseover=”this.style.b ...
  • 移動開發這些年,移動開發者人數越來越多,類似的培訓公司發展也很快,不過伴隨著的是移動應用的需求這幾年發展更為旺盛。要開發好的App,純原生開發肯定是最佳選擇。但是這麼多年發展,原生開發的難度並沒有降低多少,特別是作為一個需要長期運營的App,需要原生人員的長期跟進,人員成本很高。另外,從蘋果和And ...
  • 未採用生僻的jquery特性,能相容jquery1.2.6以上所有版本 實例預覽 引入文件 複製 使用方法 複製 複製 soColorPacke參數 複製 下載 ...
  • 寫的一個XML操作類,包括讀取/插入/修改/刪除。 using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;usi ...
  • 最近項目中總是調來調去的介面,理解不深甚是糊塗,遂簡單整理一下也方便今後查用。 【字元串轉換為對象】 parse用於從一個字元串中解析出json對象,如 var str = '{"name":"demo","age":"22"}' 結果: JSON.parse(str) Object age: "2 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...