2009-11-11 40 views
1

我想在同一行上有多個項目的drupal 6中創建一個表單。更具體地說,我想要一個右對齊的表單,它有一個textfield,下拉框和按鈕都在同一行上。Drupal 6表格格式

我知道如何創建項目,但Drupal的往往把他們都在單獨的線路。我如何把它放在一條線上?

謝謝

回答

4

您將需要使用CSS來定位它們。他們每個人都應該在自己的分區,所以它不應該太難。

P.S.對標記中的同一行進行硬編碼並不是一個好主意。您應該始終在CSS中進行佈局和定位,並將標記留給用於將項目輸出到頁面的標記。

+1

+1 - CSS是去這裏的路。 – 2009-11-11 21:47:54

1

當然,我同意前面的答案:CSS是要走的路!。真正的問題是:你應該在哪裏放置CSS位?

我強烈建議將它放在一個單獨的.css文件中,因爲這將減輕項目中其他人員的生活,並使代碼可以移植到另一個主題,當/如果重新調整會來。做起來非常容易,因爲元素中的每個元素都是用自己的包裝div生成的。您需要使用函數來告訴drupal使用給定的.css文件(如果您不將樣式添加到現有的文件中),則爲drupal_add_css()。也就是說,如果你仍然想要/必須/必須調整你從生成表單的代碼中提到的行爲,我建議你使用$form數組的#prefix#suffix屬性。這些對於所有表單元素都是通用的,並且允許您將HTML直接注入呈現的表單中(前綴給定元素前綴,當然後綴後綴)。這樣,您就可以把在地方,你需要通過<style type="text/css">標籤包括HTML元素,<div>的和<span>的和CSS。

我想,雖然強調的是,第一個解決方案(外部CSS文件)是更好的方式。

希望這會有所幫助!

0

Drupal的形式API通常輸出使用包裝div元素,與類名「形式項」設置的每個元件。

例如。

<div class="form-item"> 

    <label> ... </label> 
    <input> ... </input> 
    <div class="description"> ...</div> 

</div> 

要獲得三個要素彼此相鄰而坐,你需要設置寬度(使得元件足夠窄,以適應在一行),並申請了「浮動:左;」使用div.form-item作爲你的CSS選擇器。

爲了確保元素清晰恰當,適用「溢出:隱藏;」到包含三個表單元素的父元素。