給li設置float浮動屬性之後,無法撐開外層ul的問題。

来源:http://www.cnblogs.com/cielzhao/archive/2016/08/17/5781462.html
-Advertisement-
Play Games

最近在項目中有好幾次遇到這個問題,感覺是浮動引起的,雖然用<div style="clear:both"></div>解決了,但自己不是特別明白,又在網上查了相關內容,是因為給li設置了浮動之後它就脫離當前正常的文檔流,所以沒辦法撐開外層ul的高度。 以下麵代碼為例,其實有好幾種解決方法,我用的這種 ...


最近在項目中有好幾次遇到這個問題,感覺是浮動引起的,雖然用<div style="clear:both"></div>解決了,但自己不是特別明白,又在網上查了相關內容,是因為給li設置了浮動之後它就脫離當前正常的文檔流,所以沒辦法撐開外層ul的高度。

以下麵代碼為例,其實有好幾種解決方法,我用的這種並不是最簡單的。

<!DOCTYPE html >
<html >
<head>
<meta charset="utf-8">
<title>給li設置float浮動屬性之後,無法撐開外層ul的問題。</title>
<style type="text/css">
ul{
    border: 1px solid #000;
    width: 200px;
    height: auto;
    margin-top: 100px;
}
li{
    float: left;
    list-style: none;
    margin-left: 10px;
}
</style>
<body>
<ul>
    <li>星期一</li>
    <li>星期二</li>
    <li>星期三</li>
    <li>星期四</li>
    <li>星期五</li>
    <li>星期六</li>
    <li>星期天</li>
</ul>
</body>
</html>

以上代碼顯示結果如圖,ul的邊框變成了一條線,沒有被撐開,

可是我期望的效果是這樣的:

如果ul裡邊的內容是固定的,給ul加上高度就可以解決問題,但是遇到的項目中li是動態生成的,個數不能確定,所以高度只能設置成auto,這時候其實只要給外層ul也加上浮動屬性就可以解決問題,但有時候佈局會受到影響,只能根據情況而定;另外給ul加上overflow:auto/hidden也可以解決問題,如果要相容ie6,後面加上"zoom:1"或者"width:100%"即可。

最後再總結一下,總共有4種方法:

第1種方法在html代碼裡邊給最後一個li後面加空元素清除浮動,div可以換成p或者其他。具體如下圖:

第2種方法:給ul設置固定的高度。具體如下圖:

第3種方法:給ul設置overflow屬性,也可以是overflow:hidden。具體如下圖:

第4種方法:給ul加浮動屬性,可以換成float:right,但是很有可能佈局就會收到影響。具體如下圖:

每個人用的方法應該都不一樣,我覺得第三種方法最簡單,以後就用這種。哈哈,這會下班回家~~


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

-Advertisement-
Play Games
更多相關文章
  • 頭:header 內容:content/container 尾:footer 導航:nav 側欄:sidebar 欄目:column 頁面外圍控制整體佈局寬度:wrapper 左右中:left right center 登錄條:loginbar 標誌:logo 廣告:banner 頁面主體:main ...
  • 我們來看看CSS重要屬性--float。 以下內容分為如下小節: 1:float屬性 2:float屬性的特性 2.1:float之文字環繞效果 2.2:float之父元素高度塌陷 3:清除浮動的方法 3.1:html法 3.2:css偽元素法 4:float去空格化 5:float元素塊狀化 6: ...
  • 0.解決的問題 a.當選擇器語法沒有問題,找不到元素時,讓jquery報錯 b.選擇器語法有問題,程式無法繼續執行時,讓jquery報錯 主要針對傳遞字元串,嘗試前請備份jquery庫,最好改變名字加已區分. 1.環境配置 jquery-3.0.0.js未壓縮版 2.選擇器語法沒有問題,找不到元素 ...
  • 運行效果如下圖所示: ...
  • transform transition-origin:設置對象中變換所參照的原點 none:無變換 translate(<length>[,<length>]):指定對象的2D translation(2D平移)。第一個參數對應X軸,第二個參數對應Y軸。如果第二個參數未提供,則預設是為0. tra ...
  • 1. 使用簡單事件處理器 可以用幾種不同的方式處理事件。最直接的方式是用事件屬性創建一個簡單事件處理器(simple event handler)。元素為它們支持的每一種事件都定義了一個事件屬性。舉個例子,onmouseover事件屬性對應全局事件mouseover,後者會在用戶把游標移動到元素占據 ...
  • 隨著對分離HTML元素的語義重要性與其表現的影響的不斷強調,CSS在HTML5元素佈局方面的作用越來越重要。 1. 定位內容 控制內容最簡單的方式就是通過定位,這允許你使用瀏覽器改變元素的佈局方式。 1.1 設置定位類型 position 屬性設置了元素的定位方法。 position 屬性的不同值指 ...
  • 相對定位:position:relative; 不脫離文檔流,參考自身靜態位置通過top,bottom,left,right定位,並且可通過z-index進行層次分級。 絕對定位:position:absolute; 脫離文檔流,通過top,bottom,left,right定位,選取其最近的父級元 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...