它是正確的,我使用PrimeFaces佈局?我應該使用別的東西嗎?
答:這要看情況。我認爲,p:layout fullPage="true"
是一個組件,他們希望創建一個超快速,簡單的頁面,並且沒有足夠的時間來處理視圖層。如果陳列櫃的例子幾乎沒有相應的要求,那麼沒有理由放棄它。
但是,如果你想定製或改變它的行爲或它的功能停止和滾動你自己的。
我準備了一個適合您的要求的開球示例,正如我所說,它並不完整,但它可以激勵您。讓我們從組件開始吧。
<h:form>
<p:fieldset legend="West" styleClass="west">
</p:fieldset>
<p:panel styleClass="north">
</p:panel>
<p:fieldset legend="East" styleClass="east">
</p:fieldset>
<p:fieldset legend="Center" styleClass="center">
</p:fieldset>
<p:panel styleClass="footer">
<p:commandButton onclick="makeMe();" value="SeeTheMagic"></p:commandButton>
</p:panel>
</h:form>
可以看出,這些是基本的PrimeFaces組件,在這裏指向CSS本身。 (我使用p:fieldset,因爲我喜歡它的樣子,你可以用p:panel
代替)。
讓我們從footer
開始。有一件事值得提及,它的位置,我們只是通過bottom:0px
和position:absolute
將它放置在頁面底部。
.footer{
width:100%;
height:30px;
padding:30px;
background: #000007;
clear: both;
position: absolute;
bottom: 0px;
}
中心組件是水平居中的margin 0 auto
。還有其他方法可以肯定。此外,如果您想垂直居中,通過邊距很容易。而margin-top:70px
只是防止與北方面板重疊。
.center{
margin: 0 auto;
width:650px;
height:200px;
margin-top: 70px;
background-color: #f7f7f7;
}
東位於最左側和西側;反之亦然。
.east{
width:200px;
height:400px;
position: absolute;
margin-top: 30px;
right: 0px;
background-color: #f7f7f7;
}
.west{
width:200px;
height:400px;
margin-top: 30px;
position: absolute;
left: 0px;
background-color: #f7f7f7;
}
北部組件就像頁腳,但它在頂部當然通過top:0px
。
.north {
background-color: black;
position: absolute;
top:0px;
width: 100%;
height: 40px;
}
現在頁面看起來像某事物。類似於p:layout fullPage="true"
。應進行自定義的,當然looknfeel,也許你可以看看到新的CSS屬性,如box-shadow
(北面板)或等。因此你的要求:
我在尋找的行爲是調整中心區域動態顯示, 按下頁腳(南佈局單元)並顯示整個頁面的滾動條 。
我已經準備了一個內容,最初從中心面板溢出,然後在頁腳上有一個按鈕說明某事。關於魔術和它調用makeMe()
JS函數的作用:
只是展開p:panel
的高度,現在,如果有,將指南針所有這些內容100項。並且通過position:relative
,我們要求頁腳「不要停留在那裏只是粘在中心組件的底部。」
這是它的外觀開始:
如果您加載內容通過AJAX不會有滾動條開始。我只是將很多文本複製到它中,這就是爲什麼最初有一個滾動條。
點擊按鈕後:
是否會有問題,只是提醒我,希望幫助。
如果你打算放棄'p:layout'我可以給你一個建議。 – 2013-04-28 15:11:45
@ÖmerFarukAlmalı是的,我對任何事情都開放。請指教。 – SaryAssad 2013-04-28 20:34:25
你應該檢查我的答案。 – 2013-04-29 18:32:50