如果你已經(jīng)設(shè)計(jì)的網(wǎng)站都在過去的十年中你肯定熟悉CSS 浮 財(cái)產(chǎn)。由于工業(yè)(謝天謝地)采用表格布局的原則,在已選擇的武器大多數(shù)人使用奠定了我們的網(wǎng)頁(yè),但它是最好的深圳網(wǎng)站建設(shè)選擇嗎?
盡管這種方法是定期對(duì)新設(shè)計(jì)師的挫折和困惑的原因的普及成為一個(gè)問題時(shí),浮動(dòng)元素是左“清除”。這些不明漂浮物可以導(dǎo)致從邋遢美學(xué)完成不多的問題。一個(gè)小項(xiàng)目,解決一個(gè)問題但在漂浮動(dòng)態(tài)內(nèi)容可以有點(diǎn)棘手的大型Web應(yīng)用程序的工作時(shí),這是很簡(jiǎn)單的,吃了寶貴的時(shí)間和花費(fèi)你的錢。
一個(gè)更好的選擇
即使在正確使用時(shí),浮動(dòng)變化的 正常的流程 的文件可能會(huì)導(dǎo)致意外的行為和限制造型的選擇。由于浮不在正常流動(dòng),非定位塊盒之前創(chuàng)作的浮箱流垂直如果浮后不存在。與響應(yīng)的設(shè)計(jì),其中的大小是動(dòng)態(tài)的、流動(dòng)的填充可用空間,這是遠(yuǎn)遠(yuǎn)不夠的。如果有更好的辦法嗎?
flexbox 是網(wǎng)頁(yè)布局的令人興奮的未來(lái),對(duì)于我們這些必須 支持舊的瀏覽器,這仍然是一個(gè)遙遠(yuǎn)的夢(mèng)想。的 顯示 屬性,另一方面,有充分的支持,可以提供幾乎所有的布局功能浮子沒有缺點(diǎn)。
內(nèi)聯(lián)塊 相救
的顯示特性,結(jié)合浮法和位置,確定類型的盒子或箱子,生成一個(gè)元素。在一個(gè)非常簡(jiǎn)單的概括,塊級(jí)元素跨越容器迫使所有后續(xù)元素線下 而內(nèi)聯(lián)元素只有跨內(nèi)容的寬度的整個(gè)寬度,允許任何內(nèi)聯(lián)元素流下在同一行。
應(yīng)用 顯示:內(nèi)聯(lián)塊 一元生成內(nèi)聯(lián)塊級(jí)容器。想在標(biāo)簽中的文本。他們都是“內(nèi)聯(lián)”與另一個(gè)而標(biāo)簽本身是一個(gè)塊級(jí)容器。通過了解這種行為,我們可以使用顯示屬性內(nèi)聯(lián)內(nèi)容相映成趣。因?yàn)槲覀兯械脑乇3衷谡5牧鲃?dòng),我們與倒塌的父元素沒有問題。在我看來(lái),這是一個(gè)更清潔的解決方案,仍然取得了預(yù)期的結(jié)果。
看到筆 內(nèi)聯(lián)塊漂浮通過對(duì) davidicus CodePen。
技術(shù)
這種方法在任何地方你通常會(huì)采用浮動(dòng)。讓我們?cè)诮?jīng)典的主/側(cè)邊欄的布局一看。我們有一個(gè)包裝的元素的HTML元素內(nèi)的兩個(gè)孩子一樣:
<div class=“包裝”>
<div class=“內(nèi)容”>
<!主要內(nèi)容是這里-->
< / DIV > <!沒有空間
--><div class=“邊欄”>
<!-側(cè)邊欄的內(nèi)容放在這里——>
< / DIV >
< / DIV >
我們的CSS:
。包裝,
。主要內(nèi)容,
。邊欄{
/改變盒模型簡(jiǎn)單
Webkit盒尺寸:邊界盒;
-moz盒尺寸:邊界盒;
盒尺寸:邊界盒;
}
包裝{
字體。尺寸:1em;
填充:1.5em;
寬度:100%;
}
。主要內(nèi)容,
。邊欄{
顯示:內(nèi)聯(lián)塊;
垂直對(duì)齊:頂;
寬度:100%;
}
@媒體(最小寬度:700px){
。內(nèi)容{
右邊距:5%;
就像我們的主要內(nèi)容和側(cè)欄布局。
的“浮動(dòng)”的方向是由包裝部文本的對(duì)齊方式默認(rèn)是左對(duì)齊確定以來(lái),我們沒有做任何事情。然而,你可以很容易地將其設(shè)置為中心或?qū)崿F(xiàn)一些布局,甚至不可能的浮動(dòng)權(quán)(后來(lái))。注意“沒有空間”的評(píng)論放在兩者之間的孩子div的 。包裝容器。 這是重要的 注意,而這樣做的原因是一個(gè) “CON” 這個(gè)方法。
白色的空間
讓我們回到標(biāo)簽的例子。當(dāng)文字在HTML中所有的空格被包裹成一個(gè)單一的空白字符,無(wú)論你在你的HTML文檔的空間量。所以,你有你的“漂浮”在標(biāo)記元素會(huì)登記為瀏覽器中它們之間的空間之間的差距,就像我們的段落文本。這自然會(huì)導(dǎo)致你的尺寸計(jì)算,被敲的最后一個(gè)元素到頁(yè)面的下一級(jí)。沒有問題!幸運(yùn)的是我們有解決這個(gè)小問題的幾種解決方案。如:
設(shè)置字體大?。?;。我們面對(duì)的是一個(gè)字符的空間,空間設(shè)置字體大小為零的零空間的大小以及。這個(gè)問題,這是你必須撞的子元素的備份和任何他們的大小是完全出窗口的字體大小。這可以保持頂部有點(diǎn)麻煩,所以這種方式不理想。
刪除你的元素之間的空間在你的HTML,從而去除方程中的空間。這是我做的一個(gè),但它看起來(lái)邋遢和使它更難閱讀。
你的元素之間添加一個(gè)HTML注釋也將刪除空格字符是在我們的例子。這是 我首選的方案。本文強(qiáng)調(diào)在大多數(shù)文本編輯器是這樣的音符和元素之間的對(duì)比可以顯著提高你的標(biāo)志的可讀性了。這也將讓你保持實(shí)際的元素本身的適當(dāng)縮進(jìn)。
在為我工作,為什么要改變呢?
你可能會(huì)想,“這是好的,但為什么我會(huì)換一種方法,可以很好的給我嗎?“好吧,即使你是一個(gè)浮動(dòng)的主人有某些事情是不能做的。例如:
難以捉摸的“中心浮”,這是經(jīng)常需要,需要額外的標(biāo)記和多個(gè)CSS屬性來(lái)實(shí)現(xiàn)。與顯示的方法,這是簡(jiǎn)單地通過應(yīng)用文本對(duì)齊:中心 的包裝。
選擇顯示方法最大的優(yōu)點(diǎn)是垂直對(duì)齊你的內(nèi)容的能力。有多少次你想中心元素的兄弟姐妹嗎?你可以使用定位與切緣陰性/翻譯技巧但又與響應(yīng),動(dòng)態(tài)的環(huán)境,這是不可取的。相反,應(yīng)用 垂直對(duì)齊:中; 將完全在你的部分沒有額外的工作,你每一次的中心元素。(見筆 內(nèi)聯(lián)塊漂浮通過對(duì) davidicus CodePen。)
要把它包起來(lái)
在現(xiàn)實(shí)中不存在“一刀切”的時(shí)候,網(wǎng)頁(yè)設(shè)計(jì),它真的可以歸結(jié)為個(gè)人的偏好。我仍然使用漂浮在某些情況下,有時(shí)真的是這份工作的最佳工具。我做的,但是感覺有一定的優(yōu)勢(shì),使用的顯示方法。從我的經(jīng)驗(yàn),我發(fā)現(xiàn)它是最好的,處理布局最容易出錯(cuò)的方法。對(duì)于那些你想探索這個(gè)方法,我創(chuàng)建了一個(gè)“只說不浮柵:公司內(nèi)聯(lián)塊網(wǎng)格在 CodePen。
加利福尼亞頂級(jí)交互設(shè)計(jì)機(jī)構(gòu)
網(wǎng)站設(shè)計(jì)風(fēng)格是重點(diǎn)