1樓:匿名使用者
之前看到很多人一直都問這個問題,不過當時我沒當一回事,因為在 css 中要垂直居中,多數是在有高度的情況下,或者容器高度不定的情況下才用,看上去比較舒服,而且實現的方法也不少,不一定要拘泥於和 table 布局一樣。不過最近有人問了幾個例子,看來對此的需求還不少。現在就把我經驗拿出來分享一下,希望大家鼓鼓掌。
首先,要有乙個概念:凡是 table 布局可以實現的,css 一定可以實現。css 可以實現的,table 未必能做到。
現在來幾個例子:
一、單行內容的居中
只考慮單行是最簡單的,無論是否給容器固定高度,只要給容器設定 line-height 和 height,並使兩值相等,再加上 over-flow: hidden 就可以了
.middle-demo-1
優點:1. 同時支援塊級和內聯極元素
2. 支援所有瀏覽器
缺點:1. 只能顯示一行
2. ie中不支援等的居中
要注意的是:
1. 使用相對高度定義你的 height 和 line-height
2. 不想毀了你的布局的話,overflow: hidden 一定要
為什麼?
二、多行內容居中,且容器高度可變
也很簡單,給出一致的 padding-bottom 和 padding-top 就行
.middle-demo-2
優點:1. 同時支援塊級和內聯極元素
2. 支援非文字內容
3. 支援所有瀏覽器
缺點:容器不能固定高度
三、把容器當作**單元
css 提供一系列diplay屬性值,包括 display: table, display: table-row, display:
table-cell 等,能把元素當作**單元來顯示。這是再加上 vertical-align: middle, 就和**中的 valign="center" 一樣了。
.middle-demo-3
可惜ie不支援這些屬性,不過在其他瀏覽器上顯示效果非常完美。
要注意的是:和乙個合法的元素必須在裡一樣,display: table-cell 元素必須作為 display: table 的元素的子孫出現。
優點:不用說了吧,就是**,效果和**一模一樣
缺點:ie下無效
四、以毒攻毒!用 ie 的 bug 解決 ie 中的絕對居中
先不得不說一句,ie 真的是個很爛的瀏覽器,css1中的定義都不支援,害得要我們轉個大圈子來造居中。不過就像我說的,凡是 table 布局可以實現的,css 一定可以實現,即使在 ie 裡也不例外。我研究 ie layout 模式多年,還是找出了乙個可以在 ie 中絕對居中的方法。
這個方法就是基於 ie layout 的 bug,也可以算以毒攻毒。至於原理,不要問我,這是獨門秘學,何況三言兩語也講不清楚,只要好用就行
.middle-demo-4
.middle-demo-4 div
.middle-demo-4 div div
2樓:匿名使用者
就憑這麼一張圖,叫找問題,還真是讓人頭疼,又不是找樁=w=,至少有條頁面位址,或html**吧…
現在能想到的:
一、細心檢查不顯示那部分**有沒錯漏。
二、把文件宣告(dtd)刪掉試試。
三、把編碼改為gb2312
四、在頁面 右擊>編碼>自動(或utf-8)上面幾點,自己各試試。
3樓:匿名使用者
檢視 css 檔案中 是否有注釋,將注釋刪除 或者font-family:"微軟雅黑" 這種 中文字型 ,「宋體」 沒事
4樓:匿名使用者
瀏覽器不同內建差別很大的,你可能乙個標籤寫錯了,有的就能忽略錯誤,有的就顯示不出來
5樓:
不同版本瀏覽器對css的解析有差異。確認包含主體內容的div樣式是否有問題,可以找個css初始化的**放在css檔案的最前面,再看不同瀏覽器中的差異。
6樓:匿名使用者
把全部頁面的編碼屬性調整db2312試試
7樓:匿名使用者
1.嘗試將編碼改成gb2312看看是否可行?
2.檢視一下你的html結構和css檔案裡面有中文注釋嗎?有時候,中文的注釋會因為編碼錯誤產生亂碼影響html和樣式的輸出,我以前曾經歷過。
那次是因為css檔案的中文注釋編碼錯誤變成英文亂碼和css正文錯誤連線,造成樣式混亂。
3.還有乙個就是css和html檔案meta設定編碼最好要一致,可以嘗試用記事本開啟css檔案-》另存為(此時在下方可以選擇編碼方式,選擇一下utf-8),覆蓋儲存,試一下。或者在css檔案最頂部放在@charset "utf-8";
反正,總之,我遇到的類似情況基本都是編碼的問題,你可以參考
8樓:匿名使用者
1.沒有定義高寬
2.文字顏色和背景色相同
3.z-index不在最底層
4.**書寫不規範
9樓:壞寶貝兒
這是乙個瀏覽器相容性的問題
10樓:匿名使用者
把你的注視去掉 看看是否可行
11樓:匿名使用者
這個問題是與le有關相不相容,建議你對le公升級或更換。
css樣式在ie中不能正常顯示
12樓:育知同創教育
css樣式在ie中不能正常顯示是因為存在相容性問題。
以padding的相容性為例:
padding:10px;
padding:9px\9; /* all ie */padding:8px\0; /* ie8-9 */*padding:
5px; /* ie6-7 */+padding:7px; /* ie7 */_padding:6px; /* ie6 */
13樓:黑馬黃子
-webkit-column-count:2;
-webkit-column-gap:30px;
不支援ie瀏覽器
-webkit-column-count:2;
-webkit-column-gap:30px;
-ms-column-count:2;
-ms-column-gap:30px;
column-count:2;
column-gap:30px;
網頁布局div+css,在ie中能顯示居中的,在火狐上不能顯示居中
14樓:明天科技彈
之前看到很多人一直都問這個問題,不過當時我沒當一回事,因為在 css 中要垂直居中,多數是在有高度的情況下,或者容器高度不定的情況下才用,看上去比較舒服,而且實現的方法也不少,不一定要拘泥於和 table 布局一樣。不過最近有人問了幾個例子,看來對此的需求還不少。現在就把我經驗拿出來分享一下,希望大家鼓鼓掌。
首先,要有乙個概念:凡是 table 布局可以實現的,css 一定可以實現。css 可以實現的,table 未必能做到。
現在來幾個例子:
一、單行內容的居中
只考慮單行是最簡單的,無論是否給容器固定高度,只要給容器設定 line-height 和 height,並使兩值相等,再加上 over-flow: hidden 就可以了
.middle-demo-1
優點:1. 同時支援塊級和內聯極元素
2. 支援所有瀏覽器
缺點:1. 只能顯示一行
2. ie中不支援等的居中
要注意的是:
1. 使用相對高度定義你的 height 和 line-height
2. 不想毀了你的布局的話,overflow: hidden 一定要
為什麼?
二、多行內容居中,且容器高度可變
也很簡單,給出一致的 padding-bottom 和 padding-top 就行
.middle-demo-2
優點:1. 同時支援塊級和內聯極元素
2. 支援非文字內容
3. 支援所有瀏覽器
缺點:容器不能固定高度
三、把容器當作**單元
css 提供一系列diplay屬性值,包括 display: table, display: table-row, display:
table-cell 等,能把元素當作**單元來顯示。這是再加上 vertical-align: middle, 就和**中的 valign="center" 一樣了。
.middle-demo-3
可惜ie不支援這些屬性,不過在其他瀏覽器上顯示效果非常完美。
要注意的是:和乙個合法的元素必須在裡一樣,display: table-cell 元素必須作為 display: table 的元素的子孫出現。
優點:不用說了吧,就是**,效果和**一模一樣
缺點:ie下無效
四、以毒攻毒!用 ie 的 bug 解決 ie 中的絕對居中
先不得不說一句,ie 真的是個很爛的瀏覽器,css1中的定義都不支援,害得要我們轉個大圈子來造居中。不過就像我說的,凡是 table 布局可以實現的,css 一定可以實現,即使在 ie 裡也不例外。我研究 ie layout 模式多年,還是找出了乙個可以在 ie 中絕對居中的方法。
這個方法就是基於 ie layout 的 bug,也可以算以毒攻毒。至於原理,不要問我,這是獨門秘學,何況三言兩語也講不清楚,只要好用就行
.middle-demo-4
.middle-demo-4 div
.middle-demo-4 div div
15樓:火狐
尊敬的使用者,您好!很高興為您答疑
這是常見的css相容問題所致,如果在ie中正常的樣式在firefox出現此類顯示異常,請您檢查一下您的物件巢狀關係,一般這種情況都是因為父類物件無法正常獲取全域性寬度所致。建議考慮使用js動態獲取寬度後進行樣式重置以解決問題。
希望我的回答對您有所幫助,如有疑問,歡迎繼續諮詢我們。
16樓:台海亦
估計是你把w3c那段頭部去掉了。也有可能是其它原因。你問題也沒問具體呀。
17樓:
這個你得加一段for 火狐的**,解釋一下,或者div+sss的最外麵包個table
18樓:匿名使用者
.通用
css div製作html網頁的相容性問題 在ie 瀏覽器和 360 瀏覽器中顯示正常 但是在其他瀏覽器不正常
19樓:夢很甜
所有的內容成直線排列那就是寬度不夠,內容被擠下來了,加大寬度就好了或者overflow:hidden隱藏超出的內容
20樓:素質流氓灬
你可以不同瀏覽器設定不同的屬性、
區別 ie6與 ff:
1background:orange;*background:blue;
區別 ie6與 ie7: 1background:green!important;background:blue;
區別 ie7與 ff: 1background:orange; *background:green;
區別 ff, ie7, ie6: 1background:orange;*background:green!important;*background:blue;
注:ie都能識別*;標準瀏覽器(如ff)不能識別*;ie6能識別*,但不能識別 !important,ie7能識別*,也能識別!
important;ff不能識別*,但能識別!important;
ie6ie7ff*√√×!important×√√
另外再補充乙個,下劃線"_",
ie6支援下劃線,ie7和firefox均不支援下劃線。
CSS DIV佈局如何讓div的位置隨著另div的大
一動出行 先確定div1的大小。然後再div2和div3都加上float的屬性,這樣只要div2或div3有一個大小在變化,另外一個div的位置也會跟著一起變化。 middle foot 如果html是上面正常結構,css裡面你沒亂用定位去佈局大的版面排版,並且有浮動的地方正確的浮動了,那麼正常情況...
CSS DIV怎麼實現網頁左右兩欄高度一致
五月五日 方法一 用js獲取右側div的高度,將這個高度值賦值給左側的高度 方法二 新增一個父div包含左側和右側的div,設定父div的背景顏色為左側div的顏色,右側div背景顏色設定為白色 可以通過jq來獲取右邊高度再付值給左邊。這樣,右邊內容再多,jq也能把它的高度付值給左邊,這樣就會兩邊一...
會ps,dw,div css佈局,可以去找網頁設計網頁製作的工作了嗎
斂軒 可以,設計師助理應該差不多,現在很多公司設計和製作是分開的,如果是設計的話,那麼必須有作品,而且要設計的高階,大氣,上檔次,如果是製作的話,就還需要學js html5.css3,這是現在的最新技術。也是以後的趨勢。更多的技術和提升還是要在工作中得到! 程式設計師人生 如果你會,是肯定能找到工作...