大神張鑫旭慕課網CSS系列教程學習筆記03:overflow

来源:http://www.cnblogs.com/xiaoxiaopangzi/archive/2017/10/21/7707153.html
-Advertisement-
Play Games

為什麼是03,因為我是從今天才意識到輸出也是學習過程中很重要的一環,所以從今天開始,我會把每天學到的新知識記錄下來,溫故而知新。 重申下,每篇文章都是我當天學習的記錄,因本人是小白,水平有限,難免出現紕漏,後續會及時改正。歡迎各位指出錯誤!!! 1,首先來看看overflow的5個基本屬性: 1-1 ...


為什麼是03,因為我是從今天才意識到輸出也是學習過程中很重要的一環,所以從今天開始,我會把每天學到的新知識記錄下來,溫故而知新。

重申下,每篇文章都是我當天學習的記錄,因本人是小白,水平有限,難免出現紕漏,後續會及時改正。歡迎各位指出錯誤!!!

1,首先來看看overflow的5個基本屬性

  1. visible預設值。內容不會被修剪,會呈現在元素框之外。
  2. hidden內容會被修剪,並且其餘內容是不可見的。
  3. scroll內容會被修剪,但是瀏覽器會顯示滾動條以便查看其餘的內容。
  4. auto如果內容被修剪,則瀏覽器會顯示滾動條以便查看其餘的內容。
  5. inherit規定應該從父元素繼承 overflow 屬性的值。

  1-1  overflow-x和overf-y同時使用的問題

         如果overflow-x和overflow-y二者的值相同,等同於overflow; 如果二者值不同,其中一個被賦予visible;另一個被賦予auto,hidden,scroll,其中visible會被重置為auto。

  1-2  overflow:visible的妙用

        IE7瀏覽器下,文字越多,按鈕兩側padding留白就越大! 

  

       而同樣內容在IE8下: 

  

      給所有按鈕添加CSS樣式 overflow:visible 後的IE7瀏覽器:

  

 

2,我們來看看overflow與滾動條的關係:

      2-1,滾動條出現的條件與滾動條的標簽來源。

      1,overflow:auto 或者 overflow:scroll. 2,草窩藏不住鳳凰,潛水困不住蛟龍。 

      2,無論什麼瀏覽器,預設滾動條均來自<html> 標簽而不是<body>標簽。

     

   

    

    

   padding-bottom缺失

    在非chrome瀏覽器中。如果滾動區域寫了上下padding,那麼padding-bottom會缺失,這會導致不一樣的scrollheight(元素內容高度)。

   滾動條導致佈局問題

    滾動條是會占據寬度的,所以最好是把寬度預留足夠。

  水平居中跳動的問題

    .container{width:1150px;margin:0 auto} 容器container會在頁面中左右跳動。

  

 

3,overflow與BFC的關係:

      3-1,overflow的4個屬性中除了visible 其他3個(auto  scroll hidden)都會觸發BFC。

      3-2,overflow實現BFC的應用:  1,清除浮動影響。2,避免margin穿透和重疊的問題。3,兩欄自適應佈局。

      3-2-1,子元素浮動,會導致父元素高度塌陷。此時給父元素添加上文中提到的3個overflow屬性,會觸發BFC,使得父元素高度不再因數元素浮動而塌陷。

      3-2-3,利用float和overflow的兩欄自適應佈局:

     

<style>
        * {
            margin: 0;
            padding: 0;
        }
 
        .box {
            margin-top: 200px;
            height: 50px;
            background-color: pink;
        }
 
        .left {
            width: 50px;
            height: 50px;
            background-color: deepskyblue;
            /*左邊的盒子左浮動*/
            float: left;
        }
 
        .right {
            /*box-sizing: border-box;*/
            /*padding-left: 50px;*/
            height: 50px;
            background-color: orangered;
            /*右邊的盒子設置overflow:hidden*/
            overflow: hidden;
        }
 
 </style>
<div class="box">
    <div class="left">
        左邊固定寬度
    </div>
    <div class="right">
        右邊寬度自適應   
    </div>
</div>

  教程中提到的兩欄自適應佈局的方案:

 

4,overflow與position:absolute的關係:

      4-1-1,父元素已經有overflow:auto屬性,再給圖中的img添加position:absolute屬性,會導致滾動條失效,圖片不隨滾動條移動。

     

      4-1-2,父元素擁有overflow:hidden屬性,再給img添加position:absolute屬性,會導致圖片溢出。

    

      4-1-3,導致overflow:hidden和滾動條失效的原因:

    

      4-1-4,避免失效的方法:

    

    

  

   

   

 

   

4,overflow配合resize拉伸:

    

     

     

   

   

    

4,overflow與錨點技術:

   

    

     此方法只適用於單頁應用。

    本文是我今天學完張大大對overflow講解的一點記錄,如果您也對css的深度講解感興趣,請一定去張大大博客看看。最後本文寫的比較倉促,後續會有補充說明。

 


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

-Advertisement-
Play Games
更多相關文章
  • 後臺node ...
  • 閉包 先上 "維基百科" )的定義 在電腦科學中,閉包(英語:Closure),又稱詞法閉包(Lexical Closure)或函數閉包(function closures),是引用了自由變數的函數。這個被引用的自由變數將和這個函數一同存在,即使已經離開了創造它的環境也不例外。所以,有另一種說法認 ...
  • 一、前言 前段時間,公司有個APP項目需要支持不同平臺,於是採用了Ionic2 + cordova + angular2,在搭建環境過程中遇到了不少問題,剛好最近有時間整理出來。 二、開發環境搭建 參考這個網站步驟搭建:https://github.com/DonaldTdz/Ionic2Quick ...
  • 一、前言 今天繼續第四章的學習內容,開始學習複合變換的知識。 二、正文 Example1: 複合變換 在書中,作者為我們封裝了一套用於變換的矩陣對象:Matrix4對象。它包含以下幾種方法: Example2: 動畫 requestAnimationFrame(func): 請求瀏覽器在將來某時刻回 ...
  • 一、背景圖像顯示: ①background-size:規定背景圖像的大小; 值:像素值、百分比、auto、cover、contain ②background-origin :規定背景圖像的起始位置; 值:padding-box(預設)、content-box、border-box ③backgrou ...
  • 首先,介紹一下自己吧。 我是個普普通通的大一學弟,喜歡WEB前端、手繪、音樂和跆拳道; 曾經有一段灰濛蒙的日子,但是不想再提了; 命運如此,我來到了河北科技大學; 我本身是一個少言寡語的人,所以也沒太多朋友; 喜歡一個人在下雨天喝著咖啡,看窗外過往人流; 希望遇到一個拼搏的團隊,希望有個熱心的老師, ...
  • 一、介紹 TypeScript是JavaScript的超集,擴展了JavaScript的語法,也意味著他支持所有的 JavaScript 語法 它支持ES6規範 強大的IDE支持 是Angular2的開發語言 二、搭建TypeScript開發環境 compiler(編譯器) 作用:能將TypeScr ...
  • “時鐘展示項目”說明文檔(文檔尾部附有相應代碼) 一、最終效果展示: 二、項目亮點 1.代碼結構清晰明瞭 2.可以實時動態顯示當前時間與當前日期 3.界面簡潔、美觀、大方 4.提高瀏覽器相容性 三、知識點彙總: jQuery、原生javascript、css3、h5 四、重難點解釋 1.各個指針的旋 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...