2012-08-15 61 views
9

我需要使用一個隱藏的輸入傳輸一些ID到每個塊的頁面..不管。爲什麼隱藏的輸入會影響我的佈局? LF解釋

我有以下代碼:

<div id="shipping_box" class="formSep well"> 
    <div id="default_shipping_box" class="shipping_box row-fluid"> 
     <div class="span1"> 
      <input type="hidden" name="tracking_id" value="" /> 
     </div> 
    </div> 
</div> 

此代碼工作做好,結果是我所期待的。

如果我這樣做:

<div id="shipping_box" class="formSep well"> 
    <div id="default_shipping_box" class="shipping_box row-fluid"> 
     <input type="hidden" name="tracking_id" value="" /> 
     <div class="span1"> 

     </div> 
    </div> 
</div> 

佈局的不尊重。看到這張圖片的筆畫演示:

enter image description here

有人能解釋爲什麼給我?隱藏的輸入不會被「隱藏」,因此它們不應該影響佈局?

的jsfiddle:http://jsfiddle.net/t9M3C/

近線285

+1

你可以創建一個[jsfiddle](http://jsfiddle.net/)來顯示這個動作嗎? – 2012-08-15 18:46:10

+0

@JoshMein我想,但我不知道如何保持我的佈局和東西......?那爲什麼我上傳了一張照片。 – 2012-08-15 18:48:17

+0

你確定這就是你正在改變的一切嗎?它「不應該」有所作爲。你在瀏覽什麼瀏覽器?你有沒有嘗試過不同的瀏覽器,看它是否有相同的效果? – Gravitate 2012-08-15 18:48:44

回答

6

是因爲你有一個css規則(在bootstrap.min.css文件中),它與default_shipping_box div內的firs-child元素相匹配(但只有當類有* =「span」時)。

.row-fluid [class*="span"]:first-child { 
margin-left: 0; 
} 

所以,如果你把你的隱藏輸入DIV#default_shipping_box內部和第一跨度之前,則該規則不定型div.span1而這就是爲什麼你的模板已經受其影響。

可以固定增加一個簡單的CSS規則相同的文件...

.row-fluid .span1{margin-left:0 !important;} 

重要的,是因爲你有更多的文件,誰overite此規則(例如,在引導,responsive.min.css )

祝你好運,我希望它可以幫助 乾杯, Gmo。 -

編輯: XD太慢。 在寫作時回答...我同意上面解釋的原因。

+0

在你回答的時候編輯我的。 :D – 2012-08-15 20:07:58

+0

是啊,我已經看到了......我編輯了我的文件,而你正在編輯已經被回答的文件。 XDXD;乾杯 – gmo 2012-08-15 20:13:27

6

使用谷歌Chrome瀏覽器的插件Inspest,當你移動輸入這個類:

.row-fluid [class*="span"]:first-child { 
    margin-left: 0; 
} 

獲取刪除。

這是因爲在此:

<div id="shipping_box" class="formSep well"> 
    <div id="default_shipping_box" class="shipping_box row-fluid"> 
     <input type="hidden" name="tracking_id" value="" /> 
     <div class="span1"> 
     </div> 
    </div> 
</div> 

此:<div class="span1">不是第一個孩子,這一點:<input type="hidden" name="tracking_id" value="" />是。

,並在你的CSS這是[class*="span"]是默認的類是:

[class*="span"] { 
    float: left; 
    margin-left: 30px; 
} 

所以用這個例子:

.row-fluid .span1 { 
    margin-left:0 !important; 
} 

希望這有助於。

3

引導有一些CSS將在第一個孩子的left-margin設置爲0,如果類包含span

.row-fluid [class*="span"]:first-child { 
    margin-left: 0; 
    } 

當隱藏的輸入被放在第一span DIV以上,上述margin-left: 0;財產將不適用。

下圖顯示當隱藏輸入爲之前,則第一個span類具有左邊距。

Hidden input above DIV

這表明,當隱藏的輸入是股利後,沒有左緣。

Hidden below above DIV

編輯:我似乎有被打了兩次,而我得到的截圖來說明區別!

相關問題