DIV內容垂直居中

来源:http://www.cnblogs.com/haoqipeng/archive/2016/03/27/div-vertical-align.html
-Advertisement-
Play Games

css垂直居中屬性設置vertical-align: middle對div不起作用,例如: 運行後按鈕沒有在DIV中垂直居中: 解決思路:如果div和按鈕的寬高都確定為具體像素值,可以直接設定按鈕的css屬性:position:relative; top為(div.height - button.h ...


css垂直居中屬性設置vertical-align: middle對div不起作用,例如:

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4 <meta charset="utf-8">
 5 <meta http-equiv="X-UA-Commpatible" content="IE=edge">
 6 <title>DIV垂直居中對齊</title>
 7 <style type="text/css">
 8 * {
 9     margin: 0;
10     padding: 0;
11 }
12 
13 html, body {
14     width: 100%;
15     height: 100%;
16 }
17 
18 body {text-align: center; vertical-align: middle;}
19 .outer {
20     width: 400px;
21     height: 120px;
22     position: relative;
23     left: 20px;
24     top: 20px;
25     text-align: center;
26     vertical-align: middle;
27     border: 1px dashed blue;
28 }
29 
30 .button {
31     width: 200px;
32     height: 40px;
33 }
34 </style>
35 </head>
36 <body>
37     <div class='outer'>
38         <button class='button'>在DIV中垂直居中</button>
39     </div>
40 </body>
41 </html>

運行後按鈕沒有在DIV中垂直居中:

解決思路:如果div和按鈕的寬高都確定為具體像素值,可以直接設定按鈕的css屬性:position:relative; top為(div.height - button.height)/2,left為(div.width-button.height)/2;否則給按鈕添加一個div父元素,寬高和按鈕相 同,position設定為relative,top和left都為50%(即左上角位置設定在外層div的中心),再將按鈕左上角位置坐標設定為父元素 div寬高(也等於按鈕自身寬高)的-50%

詳細代碼如下:

 1 <!DOCTYPE html>
 2 <html lang="zh-CN">
 3 <head>
 4 <meta charset="utf-8">
 5 <meta http-equiv="X-UA-Commpatible" content="IE=edge">
 6 <title>DIV垂直居中對齊</title>
 7 <style type="text/css">
 8 * {
 9     margin: 0;
10     padding: 0;
11 }
12 
13 html, body {
14     width: 100%;
15     height: 100%;
16 }
17 
18 body {text-align: center; vertical-align: middle;}
19 .outer {
20     width: 400px;/* 或者為百分比 */
21     height: 120px;
22     position: relative;
23     left: 20px;
24     top: 20px;
25     border: 1px dashed blue;
26 }
27 
28 .inner {
29     width: 200px;
30     height: 40px;
31     position: relative;
32     position: relative;
33     top: 50%;
34     left: 50%;
35 }
36 
37 .button {
38     width: 200px;
39     height: 40px;
40     position: relative;
41     top: -50%;
42     left: -50%;
43 }
44 </style>
45 </head>
46 <body>
47     <div class='outer'>
48         <div class='inner'>
49             <button class='button'>在DIV中垂直居中</button>
50         </div>
51     </div>
52 </body>
53 </html>

再次運行後,div中按鈕上下居中顯示

END


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

-Advertisement-
Play Games
更多相關文章
  • 創建型模式抽象了實例化過程。它們幫助一個系統獨立於如何創建、組合和表示它的那些對象。 1.抽象工廠模式(ABSTRACT FACTORY) 意圖 提供一個創建一系列相關或相互依賴對象的介面,而不需指定他們具體的類。 ( 抽象工廠模式可以向客戶端(Client指代碼模式的使用者,後文類同)提供一個介面 ...
  • 翻譯前言:我在理解複雜事件處理(CEP)方面一直有這樣的困惑--為什麼這種計算模式是有效的,能夠分析得到有用的結果?為什麼它會快?我始終還沒有找到我期望的答案。不像map-reduce模型,google的論文非常清楚的描述了它的場景;或者disruptor框架,原作者清晰地解釋了它為什麼會快。在試圖... ...
  • 什麼是ORM框架: ORM即對象關係映射(Object Relational Mapping,簡稱ORM),是一種為瞭解決面向對象與關係資料庫存在的互不匹配的現象的技術。簡單的說,ORM是通過使用描述對象和資料庫之間映射的元數據,將程式中的對象自動持久化到關係資料庫中。 自己也用過很多ORM框架,比 ...
  • Atitit.木馬病毒 webftp 的原理跟個設計 ftp木馬的效果 文件傳播 文件列表 文件內容查看 作者:: ★(attilax)>>> 綽號:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 ) 漢字名:艾龍, EMAIL:1466 ...
  • Atitit。Cas機制 軟體開發 編程語言 無鎖機制 java c# php 1. 為什麼需要無鎖操作1 2. 硬體支持 cas atomic2 3. 無鎖編程(Lock-Free)就是在某些應用場景和領域下解決以上基於鎖機制的併發編程的一種方案。3 4. Volatile 記憶體屏障(Memory ...
  • 中介者要解決的問題 中介者模式(Mediator Pattern)是用來降低多個對象和類之間通信的複雜度。這種模式提供了一個中介類,該類通常用來處理不同類之間的通信。中介者模式符合迪米特原則,即一個類應當儘量減少與其他類的聯繫。 實例描述 在我們現實生活中就有這樣的例子,你如果去租房,你可能會在網站 ...
  • 管道和過濾器 管道和過濾器是八種體繫結構模式之一,這八種體繫結構模式是:層、管道和過濾器、黑板、代理者、模型-視圖-控制器(MVC) 表示-抽象-控制(PAC)、微核、映像。 管道和過濾器適用於需要漸增式處理數據流的領域,而常見的“層”模式它 能夠被分解成子任務組,其中每個子任務組處於一個特定的抽象 ...
  • 原型模式(Prototype) 類圖 描述 原型模式: 提供一個克隆自身的介面--Clone方法。 應用場景 定義一個學生類,包含一個值類型(int)的Age屬性、兩個引用類型Name(string)和Course屬性。 輸出: student:Jim 20 C++ student:Jim 20 C ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...