css實現自適應正方形的方法

来源:http://www.cnblogs.com/dantis/archive/2017/05/12/6846611.html
-Advertisement-
Play Games

頁面佈局中,我們經常需要用百分比來實現寬度自適應,但是如果這時候高度要跟寬度呈固定比例變化,該怎麼辦呢? ...


頁面佈局中,我們經常需要用百分比來實現寬度自適應,但是如果這時候高度要跟寬度呈固定比例變化,該怎麼辦呢?

很簡單,我們可以利用元素的padding或margin的百分比值是參照寬度的這一特性來實現,

即如果元素的padding或margin值是百分比值,那麼,它的值是根據父元素的寬度來計算的。

所以,實現一個自適應的正方形,可以有兩種寫法:

可以這麼寫:

 

1 <style>
2     .box{
3         width: 50%;
4         padding-top: 50%;
5         background-color: black;
6     }
7 </style>
8 <div class="box"></div>

 

也可以這麼寫:

 1 <style>
 2         .box{
 3             overflow: hidden;
 4             width: 50%;
 5             background-color: black;
 6         }
 7         .margin{
 8             margin-top: 100%;
 9         }
10     </style>
11     <div class="box">
12         <div class="margin"></div>
13     </div>

兩種方法略有不同,大家可以自行比較,也可以腦洞一些其他方法。

收工!

 


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

-Advertisement-
Play Games
更多相關文章
  • $ionicHistory 定義:當用戶通過導航欄切換視圖頁面的時候,ionicHistory起到跟蹤視圖的作用,類似的瀏覽器的行為方式,一個ionic應用程式能夠保持以前的視圖,當前視圖,和前視圖(如果有一個)。然而,一個典型的Web瀏覽器只跟蹤一個歷史堆棧在一個線性的方式。不同於傳統的瀏覽器環境 ...
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o ...
  • 組件中的路由 `` 無參數 與router1.x不同點 在vue router2.x中使用 帶參數 在vue devtools中可查看到所有的某個路由的所有信息: 路由的重定向 路由的重定向需要我們在路由文件中配置: 註意:從圖中看出,雖然路由發生了跳轉,但是後面跟的參數並沒有發生變化。 組件內的導 ...
  • for...in遍歷拿到的x是鍵(下標)。而for...of遍歷拿到的x是值,但在對象中會提示不是一個迭代器報錯。例子如下: let x; let a = ['A','B','C']; let b = {name: '劉德華',age: '18'}; console.log(a.length); f ...
  • 一、難以掌控的回調 我在第一話中介紹了非同步的概念、事件迴圈、以及JS編程中可能的3種非同步情況(用戶交互、I/O、定時器)。在編寫非同步操作代碼時,最直接、也是每個JSer最先接觸的寫法一定是回調函數(callback),比如下麵這位段代碼: Ajax請求是一種I/O操作,往往需要較長時間來完成,為了不 ...
  • 為了緊跟潮流,本文將向大家介紹一下視頻直播中的基本流程和主要的技術點,包括但不限於前端技術。 1 H5到底能不能做視頻直播? 當然可以, H5火了這麼久,涵蓋了各個方面的技術。 對於視頻錄製,可以使用強大的webRTC(Web Real-Time Communication)是一個支持網頁瀏覽器進行 ...
  • JQuery中操作Css樣式的方法 css操作都有哪幾種??? 1. "css" 2. "位置" 3. "尺寸" css操作中的css!!! css代碼 html代碼 jq代碼 代碼運行的結果 css操作中的位置!!! css代碼 html代碼 jq代碼 代碼運行的結果 css操作中的尺寸!!! c ...
  • 之前一直沒有深入瞭解到clone()函數的方法,所以對應表單中增加和減少輸入項一直使用如: var copy_html=$(選擇器).html(); alert(copy_html); 問題在於得出的copy_html直接是HTML內容代碼,未經過object封裝,而使用: var copy_htm ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...