css3之transform屬性實現div不定寬高垂直水平居中

来源:http://www.cnblogs.com/Strom-HYL/archive/2017/05/24/6899336.html
-Advertisement-
Play Games

transform的作用 transform 屬性向元素應用 2D 或 3D 轉換。該屬性允許我們對元素進行旋轉、縮放、移動或傾斜。(w3cschool) transform的相容性 transform的相容性還是比較樂觀的。IE9以下不相容,IE9支持代替的-ms-transform屬性不過只支持 ...


transform的作用

transform 屬性向元素應用 2D 或 3D 轉換。該屬性允許我們對元素進行旋轉、縮放、移動或傾斜。(w3cschool)

transform的相容性

transform的相容性還是比較樂觀的。IE9以下不相容,IE9支持代替的-ms-transform屬性不過只支持2D轉換。

谷歌和Safari支持代替的-webkit-transform屬性。IE9以上、火狐和歐朋是相容的。

 

想必大家在實際項目中肯定會遇見div不定寬和高垂直水平居中的問題。記得以前都是用js去實現。

其實用css來實現也有好幾種方法。但是個人覺得還是用transform來實現更簡單和方便就是不相容IE9以下瀏覽器。

現在給大家展示最近項目當中運用到的實例

在寫輪播圖的時候下麵那些圓點按鈕是根據圖片張數來確定按鈕個數的。所以在寫代碼時就不能固定承載這些按鈕元素的寬,而且還要居中顯示。

       <div class="scroll">
            <div class="scroll_pic">
                <a href="#"><img src="img/pic1.jpg" alt=""/></a>
                <a href="#"><img src="img/pic2.jpg" alt=""/></a>
                <a href="#"><img src="img/pic3.jpg" alt=""/></a>
                <a href="#"><img src="img/pic.jpg" alt=""/></a>
            </div>
            <ul>
                <li class="scroll_in"></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </div>
.scroll {
    width: 720px;
    height: 410px;
    margin: 0 auto;
    margin-top: 100px;
    overflow: hidden;
    position: relative;
}

.scroll ul {
    padding: 10px 0px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    bottom: 0px;
    left: 50%;
}

.scroll ul li {
    float: left;
    margin: 0px 5px;
    width: 16px;
    height: 16px;
    border-radius: 16px;
    border:1px #73B613 solid;
    background: #FCBE47;
    box-sizing: border-box;    
}

.scroll ul li.scroll_in{
    background:#FF6600;
}

上面實例當中承載這些按鈕的是一個ul元素,ul元素沒用定寬高,寫了一個定位left:50%離左邊百分之五十,如果不寫transform的話這樣並不居中,右邊寬度會包括自身ul的寬度。

transform: translateX(-50%); 這一句的作用就是讓ul相對自身位置水平左移自身50%的寬度。這樣就剛好實現我們想要的效果。

在實際項目當中我們用的多的還有就是模態框,用div模擬彈窗效果。

上圖中的圖片是水平垂直居中的。

<div class="demo">
   <img src="img/pic3.jpg" />
</div>
.demo{
    position: fixed;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

其實上面實例和我們寫彈窗讓其居中是一樣的。是不是很簡單,有了這個我們就不要用寫這麼多js求來求去的了。

 


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

-Advertisement-
Play Games
更多相關文章
  • 1.jquery介紹:想必大家都用過jquery吧,這個曾經也是現在依然最流行的web前端js庫,可是現在無論是國內還是國外他的使用率正在漸漸被其他的js庫所代替,隨著瀏覽器廠商對HTML5規範統一遵循以及ECMA6在瀏覽器端的實現,jquery的使用率將會越來越低 2.vue介紹:vue是一個興起 ...
  • 之前有在網上找ajax上傳圖片的資料,大部分的人寫得都是用jQuery,但是在這裡用JQuery就大才小用了,所以我就自己寫了,先上圖。 由上圖,首先點擊上面的選擇文件,在選擇圖片之後,將會自動上傳圖片到伺服器,並且返回圖片名字和圖片在伺服器的路徑,然後在頁面顯示文件名字和圖片。 源碼:http:/ ...
  • <node.js的特點> 採用了非同步式I/O與事件驅動的架構設計,架構為單線程模型。 <supervisor包的作用> node.js開發項目,當修改項目時,需要終止進程重啟Node.js之後才可以看到修改後的效果,為瞭解決這個問題,我們可以安裝supercisor這個包,其主要作用是監視代碼的變動 ...
  • 最近在接觸mui的時候,遇到了一段代碼: 1 (function($, doc) { 2 $.init({ 3 statusBarBackground: '#f7f7f7' 4 }); 5 $.plusReady(function() { 6 plus.screen.lockOrientation( ...
  • 更新時間: 2016-3-25 HTML Doctype作用?標準模式與相容模式各有什麼區別? (1)、<!DOCTYPE>聲明位於位於HTML文檔中的第一行,處於 <html> 標簽之前。告知瀏覽器的解析器用什麼文檔標準解析這個文檔。DOCTYPE不存在或格式不正確會導致文檔以相容模式呈現。 (2 ...
  • 設置input寬高,邊框大小顏色,背景顏色,字體顏色,字體大小,背景圖片,去除藍色邊框。 input{width:80px ;height:30px;border:1px solid red;color:red;font-size:18px;background:url(圖片路徑) no-repea ...
  • 1、將div的滾動條滾動到最底端 ...
  • js的功能非常強大,那麼現在我們就用js裡面的for迴圈來輸出一個原汁原味的九九乘法表; <script type="text/javascript"> document.write('<table border="1" bgcolor="#ccc" width="80%" cellpadding= ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...