解決列高度自適應(相同)的五種方法_經驗交流

來源:互聯網
上載者:User
1.背景圖填充

這是使用最廣泛的一種做法,無hacks,推薦使用:





Equal height(列高度相同的方法)






Head





sideleft


預設長度 加長頁面


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。



sideright


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。





Footer

製作:網頁陶吧










2.採用指令碼控制列的高度(一)

需要事Crowdsourced Security Testing道哪列的高度,以此為基準用指令碼控制。

document.getElementById("sideleft").style.height=document.getElementById("sideright").scrollHeight+"px"

上面的代碼是以sideright的基準高度來控制sideleft的高度。

代碼簡單,但比較被動:





Equal height(使用JS實現列高度相同的方法)





Head




sideleft


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。




sideright


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。






Footer

製作:網頁陶吧










3.採用指令碼控制列的高度(二)

不需要事Crowdsourced Security Testing道哪列的高度,指令碼自動判斷。

代碼較複雜,有點延時:





指令碼控制三行三列自適應高度DIV布局




指令碼控制三行三列自適應高度DIV布局




親和力指的並不只是關於盲人和螢幕助讀程式。還有許多人雖然不是盲人,但是有視力障礙 - 你我變老時就會成為他們的一員。
使網站變得更具親和力的一個最簡單的方法就是允許使用者改變文字大小;拒絕提供這樣的選擇就剝奪了使用者的主導權,很可能使使用者無法舒適地閱讀。


親和力指的並不只是關於盲人和螢幕助讀程式。還有許多人雖然不是盲人,但是有視力障礙 - 你我變老時就會成為他們的一員。
使網站變得更具親和力的一個最簡單的方法就是允許使用者改變文字大小;拒絕提供這樣的選擇就剝奪了使用者的主導權,很可能使使用者無法舒適地閱讀。



親和力指的並不只是關於盲人和螢幕助讀程式。還有許多人雖然不是盲人,但是有視力障礙 - 你我變老時就會成為他們的一員。
使網站變得更具親和力的一個最簡單的方法就是允許使用者改變文字大小;拒絕提供這樣的選擇就剝奪了使用者的主導權,很可能使使用者無法舒適地閱讀。



如果設計者使用像素為單位指定文字大小,大多數的使用者將無法縮放文字,因為 Internet Explorer 改變文字大小的方式與別的瀏覽器不同。Mozilla 和 Opera 可以縮放已經設定像素大小的文字,而Windows 下的IE卻不能。



親和力指的並不只是關於盲人和螢幕助讀程式。還有許多人雖然不是盲人,但是有視力障礙 - 你我變老時就會成為他們的一員。
使網站變得更具親和力的一個最簡單的方法就是允許使用者改變文字大小;拒絕提供這樣的選擇就剝奪了使用者的主導權,很可能使使用者無法舒適地閱讀。



如果設計者使用像素為單位指定文字大小,大多數的使用者將無法縮放文字,因為 Internet Explorer 改變文字大小的方式與別的瀏覽器不同。Mozilla 和 Opera 可以縮放已經設定像素大小的文字,而Windows 下的IE卻不能。



親和力指的並不只是關於盲人和螢幕助讀程式。還有許多人雖然不是盲人,但是有視力障礙 - 你我變老時就會成為他們的一員。
使網站變得更具親和力的一個最簡單的方法就是允許使用者改變文字大小;拒絕提供這樣的選擇就剝奪了使用者的主導權,很可能使使用者無法舒適地閱讀。



僅供示範網頁陶吧







4.採用負的外邊界和內補丁相結合

不需要事Crowdsourced Security Testing道哪列的高度。

hacks比較多(主要是opera的),但容易使用,推薦:





Equal height(DIV+CSS布局中自適應高度的解決方案)





Head




sideleft


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。




sideright


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。





Footer

製作:網頁陶吧











5.採用負的左右邊界和相對定位

下面的例子能較好地解決列高度相同的問題。

三行二列布局,主要內容在左邊,網頁寬度750px,左列580px,右列170px。

CSS代碼:

#middle{
width: 580px;
float:left;
background:#FFFFFF;
text-align:left;
}
#sideleft{
width: 580px;
float: left;
position:relative;
margin-left:-580px;
}
#sideright{
width: 170px;
float: right;
position:relative;
margin: 0 -170px 0 0;
background: #F0F0F0;
}

xhtml代碼:








從結構看,middle(使用的是左列希望的背景色)在最外面,寬度等於sideleft的寬度,往裡一層是sideright,其寬度為170px,浮動方向是右邊。但其右面的邊界是負的170px,相當於將sideright拉向右面(右面緊貼著middle的右邊)170px的位置。而sideleft又是套在sideright裡面的,其內容先於sideright出來,左邊界是負的580,相當於在sideright左邊580px,此時sideleft和middle位置重合。

優點:不需要背景圖片,無hacks,完全的自適應高度。

缺點:現在的代碼只能靠左對齊。

示範:





Equal height(DIV+CSS布局中自適應高度的解決方案)





Head




sideleft


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。





sideright


要從固定的、基於像素的設計方法轉到彈性的、相對的設計方法並不容易。但是如果恰當利用,就可以成為增強親和力和易用性的一個自然選擇,同時又無須做出設計上的犧牲。


像素是電腦螢幕上的不可縮放的點,而一個
h3 就是一個字大小的方塊。由於字型大小的變化, h3
代表使用者喜歡的文字大小的相對單位。


採用印刷式的固定設計方案或許要容易些,因為如果尺寸不變,則考慮的東西就相對較少。可是如果採用彈性的設計方法,就可以充分利用電腦的顯示器和瀏覽器。


也許你想你的網站以某種特定的方式顯示,但是你的使用者想看到的可能不一樣。任何強加於使用者的東西都不利於易用性,從而對網站的成功造成損害。





Footer

製作:網頁陶吧









  • 相關文章

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.