對於一些css樣式的巧妙方法進行總結。

来源:http://www.cnblogs.com/androidshouce/archive/2016/07/14/5669044.html
-Advertisement-
Play Games

針對之前遇到過的一些特殊樣式的實現,我今天做個總結,目的有二:一是將這些方法記錄下來,以便將來需要用到時查找使用。二為將這些大神們智慧的結晶發揚光大,讓廣大前端程式猿們能夠少走彎路。此貼為更新帖,以後若有好的css樣式技巧,小哥我會不定期更新。 一、塊元素水平垂直居中(特別鳴謝:鑫生活。鑫哥出品必屬 ...


針對之前遇到過的一些特殊樣式的實現,我今天做個總結,目的有二:一是將這些方法記錄下來,以便將來需要用到時查找使用。二為將這些大神們智慧的結晶發揚光大,讓廣大前端程式猿們能夠少走彎路。此貼為更新帖,以後若有好的css樣式技巧,小哥我會不定期更新。

  一、塊元素水平垂直居中(特別鳴謝:鑫生活。鑫哥出品必屬精品!小弟膜拜)

  對於一個塊元素的水平垂直居中,水平居中的方式不必多說,一般用margin:auto;等方法即可實現。而對於垂直居中,儘管有vertical-align:middle屬性,但是由於其只適用於table標簽中,而table標簽效果不好控制的特點大家都懂。。。因此,我們一般常用的方法是:將子級元素設定inline-block屬性,並將其行高屬性:line-height的值設定為與父級元素相同的高度。在這裡,我想推廣一種方法,源自“鑫生活” 

http://www.zhangxinxu.com/wordpress/2013/11/margin-auto-absolute-%E7%BB%9D%E5%AF%B9%E5%AE%9A%E4%BD%8D-%E6%B0%B4%E5%B9%B3%E5%9E%82%E7%9B%B4%E5%B1%85%E4%B8%AD/

代碼如下:

html方面:

  <body>
    <div class="big">
      <div class="small"></div>
     </div>
  </body>

 

css方面: 

  .big{
    width:500px;
    height:500px;
    border:1px solid red;
    position:relative;
    }
  .small{
    width:200px; /*自己元素寬高可任意設定 */
    height:200px;
    position:absolute;left:0px;top:0px;right:0px;bottom:0px;
    margin:auto;
    
}

  在上述代碼中,子級元素的寬高是任意設定的。都可以實現此元素在父級元素中水平垂直居中顯示。在父級元素中,我們用了position的relative屬性。在子級元素中,我們將它的position屬性設定為absolute後,將四個方向的值都設定為0px。並且讓他的margin值自適應。從審查元素中我們可以發現,如此設定後,子級元素的margin區域會充滿整個父級元素,並且左右margin值是相等的,上下margin值亦如此。但是這並不符合,當代碼數值有衝突時,優先解析top值及left值的規律。因為究竟是什麼原理,小ge也不得而知。。如果有大神知曉,還望不吝賜教。但是這不失為一種好的辦法,希望大家活學活用。

    二、after偽類清浮動

    通常我們在對塊元素設浮動以後,需要對其清浮動,以免佈局混亂。常見的清浮動方法主要有兩種:1)、在後面的子元素css中寫"clear:both;"。2)在浮動元素的父級元素中寫"overflow:hidden"。現在,我們可以用第三種方法,利用after偽類寫一個浮動屬性,這樣只要有需要清楚浮動的地方,我們就給其父元素加上這樣一個浮動屬性就可以了。

代碼如下:

  .clearfix:after{

     content:"";

     display:table;   /*利用table不允許浮動的屬性來清除浮動。也可以替換成"overflow:hidden;"*/ 

     clear:both;

     }

    這種方法有個好處,即可以將其寫入reset中,之後可以多次調用。


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

-Advertisement-
Play Games
更多相關文章
  • 《掃雷》是一款大眾類的益智小游戲,於1992年發行。游戲目標是在最短的時間內根據點擊格子出現的數字找出所有非雷格子,同時避免踩雷。線上試玩 http://hovertree.com/texiao/game/7/滑鼠左鍵標記非雷格子,右鍵標記地雷。如果左鍵點到地雷游戲失敗。 這是何問起掃雷成功的一個例 ...
  • 在實際的項目里,ajax的應用頻率很高,所以儘管jquery或者其他的一些類似的js庫做了非常不錯的封裝,仍然有進一步封裝簡化的空間和必要 舉一個例子,很久很久以前,我的ajax是這麼寫的: 乍一看挺好沒啥問題,但是其實success回調里的邏輯可能很複雜,甚至可能會出現ajax回調里再放一個aja ...
  • [1]條件 [2]逗號 [3]賦值 [4]() [5]void ...
  • cubic-bezier即為貝茲曲線中的繪製方法。圖上有四點,P0-3,其中P0、P3是預設的點,對應了[0,0], [1,1]。而剩下的P1、P2兩點則是我們通過cubic-bezier()自定義的。cubic-bezier(x1, y1, x2, y2) 為自定義,x1,x2,y1,y2的值範圍 ...
  • 希望這篇博客可以對你有所幫助,如果有什麼技術上的問題,希望我們可以做進一步的交流,如果你覺得我哪裡闡述的不正確或者你有更好的更透徹的理解,也可以聯繫我,我在這裡隨時等著你。 對於css/html是每個前端必經之路,之前我們可以只是簡單用css去做一些靜態的界面佈局,需要動畫效果還是需要js的幫助才可 ...
  • ClockPicker.js是一款時鐘插件,其實還可以改進,裡面的分可以改成短橫線。 線上實例 實例預覽 jQuery ClockPicker 圓形時鐘 使用方法 複製 參數詳解 ClockPicker調用方法 下載 ...
  • CSS3為我們帶來了令人驚嘆的新特性,而最有趣的就是CSS動畫。向大家推薦這50個CSS動畫集合可以讓你通過使用JavaScript函數來讓動畫更生動。為了能夠預覽到這些驚人的CSS3技術帶來的動畫特效,請大家使用如Safari和Chrome這類基於WebKit內核的瀏覽器。(IE瀏覽器謝絕觀賞~) ...
  • 方法一: // 計算系統當前是星期幾 var str = "今天是星期" + "日一二三四五六".charat(new date().getday()); 方法二: var a = new array("日", "一", "二", "三", "四", "五", "六"); var week = ne ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...