1. 程式人生 > >html/CSS 容器寬度自適應

html/CSS 容器寬度自適應

可解決問題:

選單水平居中對齊;

容器背景根據容器內容自由擴充套件(比如選單項背景);

........

等等容器寬度自適應問題。

解決程式碼:(很經典啊~~)

display:inline-block; *display:inline; *zoom:1;

解釋:(以下轉自網路,解釋很到位。。。)

block元素的特點是:
總是在新行上開始;
高度,行高以及頂和底邊距都可控制;
寬度預設是它的容器的100%,除非設定一個寬度
<div>, <p>, <h1>, <form>, <ul>和<li>是塊元素的例子。

inline元素的特點是:

 
和其他元素都在一行上;
高,行高及頂和底邊距不可改變;
寬度就是它的文字或圖片的寬度,不可改變。
<span>, <a>, <label>, <input>, <img>, <strong>和<em>是inline元素的例子。
inline和block可以控制一個元素的行寬高等特性,需要切換的情況如下:
讓一個inline元素從新行開始;
讓塊元素和其他元素保持在一行上;
控制inline元素的寬度(對導航條特別有用);
控制inline元素的高度;
無須設定寬度即可為一個塊元素設定與文字同寬的背景色。


inline-block的元素特點:

     將物件呈遞為內聯物件,但是物件的內容作為塊物件呈遞。旁邊的內聯物件會被呈遞在同一行內,允許空格。(準確地說,應用此特性的元素呈現為內聯物件,周圍元素保持在同一行,但可以設定寬度和高度地塊元素的屬性)  並不是所有瀏覽器都支援此屬性,目前支援的瀏覽器有:Opera、Safari在IE中對內聯元素使用display:inline-block,IE是不識別的,但使用display:inline-block在IE下會觸發layout,從而使內聯元素擁有了display:inline-block屬性的表症。從上面的這個分析,也不難理解為什麼

IE下,對塊元素設定display:inline-block屬性無法實現inline-block的效果。這時塊元素僅僅是被display:inline-block觸發了layout,而它本就是行佈局,所以觸發後,塊元素依然還是行佈局,而不會如Opera中塊元素呈遞為內聯物件。
IE下塊元素如何實現display:inline-block的效果?
有兩種方法:
1、先使用display:inline-block屬性觸發塊元素,然後再定義display:inline,讓塊元素呈遞為內聯物件(兩個display要先後放在兩個CSS宣告中才有效果,這是IE的一個經典bug,如果先定義了display:inline-block,然後再將display設回inline或block,layout不會消失)。程式碼如下

(...為省略的其他屬性內容):
div {display:inline-block;...}
div {display:inline;}

2、直接讓塊元素設定為內聯物件呈遞(設定屬性display:inline),然後觸發塊元素的layout(如:zoom:1等)。程式碼如下:
div {display:inline; zoom:1;...}

相關推薦

html/CSS 容器寬度適應

可解決問題: 選單水平居中對齊; 容器背景根據容器內容自由擴充套件(比如選單項背景); ........ 等等容器寬度自適應問題。 解決程式碼:(很經典啊~~) display:inline-block; *display:inline; *zoom:1; 解釋:(以下轉

使用min-content實現容器寬度適應於內部元素

強制 布局 sign 延伸 sid spl 顯示效果 exp ldr 前言 設計師可以分為如下兩類: 先做好設計,然後將內容放入靜態框架中 優秀的設計師充分考慮內容的各個方面及其上下文,並創建適合於內容的設計 HTML原生就是響應式的(HTML內容在視口內流式的分布)。

html+css手機端適應網頁

一,最近在做專案,寫移動端的網頁,主要是自適應的問題。bootstrap等前端框架用的不好,又不想耽誤時間,不能自適應很煩人,這裡給大家介紹下我的方法, 也是結合了很多人的思路。 1.在頭部加入這樣的一行程式碼: <meta content="width=devi

CSS練習絕對定位於頁面寬度適應

ear family vertica 寬度 content back left display splay <!DOCTYPE html> <html> <head> <title>九宮格布局</title&g

CSS-父元素寬度適應子元素寬度之和

line 原本 isp bottom over borde 子元素 段落 https 最近碰見這樣一個需求,要讓圖片橫向排列設置x方向的滾動條滾動查看,原本當直接創建一個IFC(inline,float什麽的)就解決了,搞了半天發現搞不定(IFC也是不能父元素寬度自適應子元

css的高階和寬度適應問題

1.寬度自適應 現在網頁佈局基本都是要適配各個螢幕,所以佈局時候的自適應也就非常重要,這個東西說難不難,說簡單也不簡單,主要是一個積累的過程,當你寫得多了,也就掌握了。 我先從三列式佈局講吧,三列式佈局什麼呢,說白了就是兩邊固定,中間自適應,三列式佈局經典的

css橫向 最右和最左動態寬度,中間寬度適應程式碼

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,in

[轉]css實現左側寬度適應,右側固定寬度

原文地址:https://segmentfault.com/a/1190000008411418 頁面佈局中經常用會遇到左側寬度自適應,右側固定寬度,或者左側寬度固定,右側自適應。總之就是一邊固定寬度,一邊自適應寬度。 一般固定寬度是導航欄,自適應寬度的是主體內容顯示區。 所以要實現這種佈局,就先給出如

css讓圖片適應容器(div)大小

我們在寫頁面的時候經常會遇到需要圖片 自適應 容器大小這樣的情況,下面我就開門見山的說明一下怎樣去實現這樣一個效果。 <div> <img src="1.jpg" alt=""> </div>123 備註一下這裡的圖片

css適應寬度 多種方法實現寬度適應的水平居中

當父元素和子元素都沒有定義寬度的情況下實現水平居中: display:inline-block可以使用text-align:center和display:inline-block相結合,這個技巧需要一個父元素。 HTML程式碼:  複製程式碼 程式碼如下: <d

CSS實現一側寬度適應,一側為固定寬度

在百度前端技術學院遇到的問題,“頁面右側部分為固定寬度,左側保持與瀏覽器視窗變化同步自適應變化” 不少網站都是這樣的兩列式佈局,螢幕比較寬,如果全屏只有一列,看起來會比較累;兩列式佈局,可以讓內容一列

css實現圖片適應容器的幾種方式

超出 enter align contain clas 前端 splay 擴展 url css實現圖片自適應容器 經常有這樣一個場景,需要讓圖片自適應容器的大小。 1、img標簽的方式 我們馬上就能想到,把width、height 設置為100%啊。來看一哈效果。 <

CSS制作適應分頁條-分享------彭記(019)

ans ext point ase body 20px inter port 使用 純css制作自適應分頁條 效果圖: html: <!DOCTYPE html> <html> <head> <meta charset="U

手機站常用的底部導航條,寬度適應

nbsp class ges posit oat cdn bootstrap image 100% <!DOCTYPE html> <html> <head> <meta charset="utf-8">

保持寬高比的寬度適應盒子

示例代碼 clas code height pad wid 圖片 color relative 基本原理 元素的padding的百分比值是基於其父元素的寬度計算的,如此,設置元素寬度width:25%,元素高度不設定,元素padding-bottom:75%,就可以得到一個

從零開始學習前端開發 — 6、CSS寬高適應

完全 content 代碼 部分 隱藏 -h 描述 tex tom 一、寬度自適應 語法:width:100%; 註: a)塊狀元素的默認寬度為100% b) 當給元素設置寬度為100%時,繼承父元素的寬度 c) 通常使用寬度自適應實現通欄效果 二、高度自適應 語法:hei

前端知識 | CSS小技巧-適應橢圓

小技巧 圓角 網站 技術幹貨 自動調整 soft ack 顯示 相等 背景知識:border-radius 屬性的基本用法。難題:你可能註意到過,給任何正方形元素設置一個足夠大的 border-radius,就可以把它變成一個圓形。所用到的 CSS 代碼如下所示: 圖1

手機端適應字體大小和元素寬度適應

type 測試 nim AD ali jquery round 查詢 element 第一種,媒體查詢: @media (min-width:0px){ html{font-size:12px;} } @media (min-width: 320px){

jeasyUI DataGrid 根據屏幕寬度適應

easy size class 瀏覽器 根據 wid 選擇 doc column PC瀏覽器的Datagrid可以顯示多幾列,但是在手機瀏覽器時,只能有選擇性的顯示前幾列. $(window).resize(function () {

css實現高度適應正方形

spl splay code gin tle margin content div hidden <!DOCTYPE html> <html> <head> <title></title> </hea