ayx 新一代Web彈窗組件。
gzip壓縮版僅 13.5kb,非常小巧。
第一步:引入 layx.css / layx.min.css
<link href="layx.min.css" rel="stylesheet" type="text/css" />
第二步:引入 layx.js / layx.min.js
<script src="layx.min.js" type="text/javascript"></script>
第三步:打開一個窗口試試
layx.html('str','字符串文本','Hello Layx!');
https://gitee.com/monksoul/LayX
. 流式定位
這是網頁元素默認的定位方式,網頁元素按照其HTML標簽的先后順序,在網頁內依次顯示,就像液體一樣“流動”,所以稱為“流式定位”,這種方式將所有網頁元素的默認顯示方式分為以下幾種類型:
塊級元素(display: block): 可以設置寬度,默認寬度為100%,但不管多寬都會獨占一行,多個塊級元素按從上到下的順序縱向顯示,默認顯示為塊級元素的包括:段落(p)、層(div)、表單(form)等。
內聯元素(display: inline): 不會獨占一行,可以多個元素共享一行,按從左至右的順序橫向顯示,默認顯示為內聯元素的包括:文本標簽(label)、鏈接(a)等。
行內塊元素(display: inline-block): 這種定位方式兼具塊級元素和內聯元素的優勢,既可以像塊級元素一樣設置寬度和高度,又可以一行放置多個,默認顯示為內聯元素的包括:圖片(img)、輸入項(input)、多行文本(textarea)等。
可以通過設置HTML元素的CSS樣式的display屬性來改變元素默認的流式定位方式,例如將層(div)元素設置為行內塊元素后,就可以跟文本標簽(label)、圖片(img)等元素放在同一行顯示,不再獨占一行。
流式定位存在一些問題,主要包括:
l 塊級元素很難被有效利用起來,因為其獨占一行的特性,不能一行顯示多個。
l 內聯元素無法設置寬度、高度和垂直方向邊距,不好精確控制元素大小和顯示位置。
l 內聯元素之間水平方向會因為代碼中的空格、換行等產生間隙,垂直方向存在默認的底部間隙,這給水平布局帶來額外的麻煩。
2. 浮動定位
浮動定位會讓元素脫離原來的標準文檔流浮動起來,直至它的外邊緣遇到父元素的內邊緣或者另一個兄弟浮動元素的外邊緣。
任何HTML元素都可以設置為浮動,可以通過設置HTML元素的CSS樣式的float屬性來設置具體的浮動方式,可以選擇向左浮動(float: left)或向右浮動(float: right)。
相對于網頁默認的流式定位,浮動定位有以下優勢:
l 多個塊級元素可以共享一行。
l 內聯元素可以設置寬度和高度。
l 元素之間的空格、換行不影響元素的顯示位置。
浮動定位最初被設計出來是為了實現文字環繞圖片顯示的效果,但由于其上述優勢,后來大家也用浮動定位來設置更多網頁元素的位置,代替默認的流式定位,也是TaskBuilder默認的組件定位方式。
不過,浮動定位也有一些問題,不是所有的場合都適合,大家根據需要選擇,這些問題包括:
l 居中對齊問題:浮動定位不太好實現垂直和水平居中對齊。
l 父元素的高度塌陷問題:如果元素不浮動,會自動撐開父元素的高度,浮動后,由于浮動元素已經脫離原來的標準流,如果父元素沒有設置高度,且父元素中沒有其他非浮動元素時,會造成父元素的高度塌陷(高度變成了0)。
3. 坐標定位
坐標定位是指為HTML元素設置上下左右的偏移量來確定其具體的顯示位置或大小,通過設置元素CSS的position屬性,可以選擇坐標定位的具體方式,包括:
相對定位(position: relative):即相對于元素在流式定位時的正常位置進行定位,您可以通過 top、right、bottom、left 這 4 個CSS屬性來設置元素相對于正常位置的偏移量,在此過程中不會對其它元素造成影響。
相對定位示意圖
絕對定位(position: absolute):即相對于第一個非靜態定位的父級元素進行定位,可以通過 top、right、bottom、left 這 4 個屬性來設置元素相對于父級元素位置的偏移量。如果沒有滿足條件的父級元素,則會相對于瀏覽器窗口來進行定位。元素使用絕對定位后,其他標準流元素會填補它的位置。絕對定位可以通過設置元素CSS樣式的left和top屬性來精確控制元素的顯示位置,再設置right或bottom這兩個CSS樣式,實現元素的寬度或高度根據父元素的寬度和高度動態設置和變化。
絕對定位示意圖
固定定位(position: fixed):即相對于瀏覽器的窗口進行定位,可以使用 top、right、bottom、left 這 4 個CSS屬性來定義元素相對于瀏覽器窗口的位置。使用固定定位的元素無論如何滾動瀏覽器窗口,元素的位置都是固定不變的。
粘性定位(position: sticky):它是相對定位和固定定位的結合體,能夠實現類似吸附的效果,當滾動頁面時它的效果與相對定位相同,當元素要滾動到屏幕之外時則會自動變成固定定位的效果。用粘性定位很容易實現元素置頂顯示的效果。
4. 表格定位
顧名思義,表格定位就是用表格來實現網頁內容的定位,先繪制一個多行多列的表格,并設定表格各列的寬度和各行的高度,然后在表格的單元格里插入相關網頁元素,最終實現這些元素的位置定位。
這種定位方式比較適合可以將頁面內容清晰明確地劃分為多行多列的場景,例如各種業務單據和數據報表等。
有兩種方式可以實現表格布局: HTML Table(<table>標簽)和CSS Table(display:table 等相關屬性)。HTML Table是早期網頁設計采用的表格定位方式,由于其渲染性能較低,且有些界面效果較難實現,用的人已經比較少了,現在推薦使用CSS Table,能實現一些HTML Table做不到的效果。
目前,TaskBuilder只是在報表設計器里集成了一個第三方的表格插件,在前端tfp頁面設計器里,還沒有提供表格定位相應的容器組件,未來會提供。(現有的可編輯表格和數據表格不是用來為其他組件提供定位的,所以不能算作是表格定位的容器組件)
5. 彈性定位
彈性定位又叫彈性布局,這種定位方式最大的特點就是可以讓子元素的大小可以根據父元素的大小自動擴張或收縮,從而可以做到自動適應不同終端的屏幕尺寸,或者在用戶改變瀏覽器窗口大小時自動伸縮。
這種定位方式需要先將一個父元素的CSS屬性display設置為flex,然后該元素里的子元素即可實現彈性定位。
采用彈性定位的容器元素可以設置以下CSS樣式:
元素排列方向(flex-direction):用來設置子元素的排列方向,有四種方式可以選擇:從左到右顯示(row)、從右到左顯示(row-reverse)、從上到下顯示(column)、從下到上顯示(column-reverse)。
元素水平對齊方式(justify-content):用來設置子元素在水平方向的對齊方式,可以選左對齊(flex-start)、右對齊(flex-end)、居中對齊(center)、兩端對齊(space-between)和等距對齊(space-around)。
元素垂直對齊方式(align-items):用來設置子元素在垂直方向的對齊方式,可以選頂部對齊(flex-start)、底部對齊(flex-end)、居中對齊(center)、基線對齊(baseline)、自動伸展(stretch)。
內容整體對齊方式(align-content):當有多行子元素時,可以用該屬性設置全部子元素整體的垂直對齊方式,包括自動拉伸(stretch)、在容器的頂部排列(flex-start)、在容器的底部排列(flex-end)、在容器內居中排列(center)、均勻分布,上下靠邊(space-between)、均勻分布,每行等距(space-around)。
元素是否自動換行(flex-wrap):用來設置子元素是否自動換行。
彈性定位容器內的子元素可以設置以下CSS樣式:
擴展量(flex-grow):必須參數,用來設置當前元素相對于其他元素的增長量,默認值為 0,即如果存在剩余空間,也不自動放大。
如果所有元素的擴展量都設置為1,將等分剩余空間。如果一個元素的擴展量設置為2,其他元素都為1,則前者占據的剩余空間將是其他項的2倍,如下圖所示:
收縮量(flex-shrink):必須參數,用來設置當彈性容器空間不足時,該元素相對于其他元素的收縮量,默認值為 1。如果所有元素的flex-shrink屬性都為1,當空間不足時,都將等比例縮小。如果一個元素的flex-shrink屬性為0,其他元素都為1,則空間不足時,前者不縮小。
基準長度(flex-basis):必須參數,元素的基準長度定義了父容器在分配多余空間之前,當前元素占據的主軸空間(main size,如果是橫向排列,則指父容器在水平方向的空間,如果是縱向排列,則指父容器在垂直方向的空間)。瀏覽器根據這個屬性,計算主軸是否有多余空間。合法值為 auto(默認值,表示根據其他情況自動伸縮),或者以具體的值加 "%"、"px"等單位的形式,表示該元素將占據固定空間。
顯示順序(order):屬性用來設置元素在容器中出現的順序,您可以通過具體的數值來定義元素在容器中的位置,默認值為 0。下圖所示的四個普通的面板組件,在彈性面板里從左至右的正常插入順序是panel1、panel2、panel3、panel4,但通過設置這四個面板的顯示順序,將panel1和panel4的顯示位置進行了調換。
對齊方式(align-self):該屬性允許您為某個特定的元素設置不同于其它元素的對齊方式,該屬性可以覆蓋父容器組件(彈性面板)里的垂直對齊屬性的值。該屬性的可選頂部對齊(flex-start)、底部對齊(flex-end)、居中對齊(center)、基線對齊(baseline)、自動伸展(stretch)。
由于彈性定位的自動伸縮特性,且易于實現子元素的水平和垂直對齊,目前很多主流的前端UI框架都大量地采用了該定位方式。
果你正在尋找能夠吸引人眼球的高素質頂部懸浮菜單設計,那么這12個導航設計案例值得你一看~
導航是網站和 APP 當中必不可少的組成部分,它們引導用戶抵達目標,發現內容。為了讓用戶能夠更加方便地使用導航,許多網站和 APP 選擇使用了頂部懸浮導航,無論瀏覽到哪里,都能輕松使用它跳轉到其他地方。雖然有的用戶并不喜歡這個一直占據屏幕空間的小控件,但是它確實提供了無與倫比的便捷性。
如果你正在尋找能夠吸引人眼球的高素質頂部懸浮菜單設計,那么今天的文章一定不要錯過,這12個導航設計絕對不會讓你失望。
雖然我并不懂法文,這個網站并不難使用和理解。
在頁面的頂部你會看到包含文本的 LOGO 和導航鏈接,當你向下滑動的時候,LOGO 中的文本消失,而導航上移。這樣的設計占據空間并不大,對于承擔繁重工作量的菜單而言,這是相對理想的選擇。
不過,如果你覺得這樣還占空間的話,可以加入過渡動效,然后讓鏈接的文本變化為小圖標,這樣的技術也很成熟。
SEJ 是一個很棒的博客,而它的導航設計也算得上是獨樹一幟,因為在別的地方幾乎看不到相同的設計。
當你訪問網站首頁的時候,你會看到導航下的輪播圖中嵌入了網站的 LOGO,導航欄左側有 LOGO 和注冊按鈕構成的動態圖片。當你向下滾動的時候,整個導航向右移動,在左側出現網站 LOGO,整個設計非常動感,也非常的炫酷。
這樣的設計無疑是經過仔細斟酌,并且確實有用的,兼顧到了品牌的設計和導航的功能性。
在整個列表當中,AWD Agency 的側邊欄式導航是為數不多的幾個案例之一。
只需要點擊左上角的箭頭就能將側邊欄隱藏起來,縱向上空間更大,側邊欄導航所能承載的內容并不會比頂部導航更少,而且在兼容移動端上一點都不含糊。
這個設計的優點在于可控性上非常不錯,處理得干凈利落,也很直接。
我從來沒有用過 Graz Secrets 的 iOS APP,但是看了他們的官網之后,感受到他們在用戶體驗上的獨特想法,對此就很有興趣了。
網站的頂部導航設計很有特色,通過小邊框來和下面的頁面部分來區分,最有特色的是導航欄最中間的位置,一個風格獨特的「立即下載」的按鈕。
當你向下滾動的時候,整個導航會很好的融入整個布局。
Grain & Mortar 是我去年見過的最干凈的設計機構的網站。
許多網站會為了流行和時尚而使用一些圖形、動畫甚至圖片,這些元素常常會讓人感到困惑,但是 G&M 的網站不是這樣。這個網站中沒有多余的元素,但是最重要的是,網站的頂部懸浮導航的設計。
網站首屏使用的是視頻背景,為了更好的融入感,導航條目懸浮在前景,這無疑帶來了沉浸式的體驗。當頁面向下滾動的時候,通過轉場動畫,導航出現了一個白色的底,通過一條淺灰色的線,和頁面的內容部分進行了區分,并且固定懸浮在頂部。
Jorge Rigabert 同樣是一個非英語類的網站。這個網站同樣采用了側邊欄導航,由于網站采用了類似單頁這樣的設計,導航欄中的條目指向到頁面中不同的位置和模塊。當你滾動頁面的時候,左側導航欄會隨之變化,為你高亮展示出所處的位置。頁面的布局算得上是中規中矩,而導航欄在指引性上的設計,可謂是出彩。
作為一個作品集網站,Daniel Filler 的網頁設計也非常的討喜,它和前面 G&M 的導航設計有許多相似的地方。打開首屏的時候,導航底部和背景 Banner 圖很好的融入到一起,頁面的左上角是巨大的 LOGO。
當你向下滾動的時候,導航消失隨后又出現,這個時候它擁有了一個半透明的底部背景,巨大的 LOGO 部分顯示,融入導航,導航欄的條目則從最初的右邊挪到了靠左的位置。整個設計在體驗上總體是無縫順暢的,最讓人印象深刻的設計在于,常常出現在網頁右下角的「回到頂部」的箭頭按鈕,被放置在頂部導航的最右邊,非常的順手,頗為創新。
在我所看到的諸多酒店類的網站當中,Novotel Hotels 的網站導航設計絕對是最特殊的那款。
網站的許多導航功能并沒有直接擺出來,而是隱藏到了左上角的漢堡圖標當中。當你向下滾動的時候,預訂篩選菜單會隨著滾動靠近頂部導航,然后粘在上面,懸浮置頂。方便用戶隨時隨地地搜索和篩選。
FHOKE 這個網站的導航設計也不算復雜,實際上就是LOGO 和右上角的菜單按鈕,它是沒有底色,并且隨著頁面內容的背景顏色變化而自動匹配對比強烈的黑色或者白色。這樣的設計讓導航無縫地融入到整個頁面的布局當中,并且讓用戶可以隨時便捷地點擊導航中的內容。
對于 Brit + Co 的導航設計,你會發現幾個非常不錯的優點。當你向下滾動瀏覽的時候,懸浮置頂的導航欄會自動隱藏起來,這樣會節省空間,并且這種設計也很直接。當你向上回滾頁面的時候,導航會出現。
而搜索功能也設計得非常巧妙,當你點擊搜索按鈕的時候,搜索框會出現在導航下方,足夠長,足夠明顯的輸入框,比什么都好。
打開 Coloud 網站,向下滾動的時候,你會注意到導航欄的邊戶:它變窄了,變小了,甚至不會顯示公司的 LOGO 了。這看起來很瘋狂,但是誰會因為向下滾動瀏覽而忘記所處的網頁呢?當然不會。導航這樣處理,其實更加方便,縮小,保持存在感,提升定位感和體驗。
最后這個案例絕對是最返璞歸真的設計方案。沒有滾動的標識,沒有搜索框,沒有視覺障礙,沒有動效,它就是在右上角上四個小小的鏈接,黑色,對比強烈,始終存在,節省空間,隨時可以點擊。對于極簡風的網頁而言,這樣的設計效果是很不錯的。
原文作者 : JAKE ROCHELEAU
譯者/編輯 : 陳子木
譯文地址:https://www.uisdc.com/12-fixed-sticky-navbars
本文由 @陳子木 授權發布于人人都是產品經理,未經作者許可,禁止轉載。
題圖來自 Pexels,基于 CC0 協議
*請認真填寫需求信息,我們會在24小時內與您取得聯系。