2014-03-26 103 views
5

在我的頁面中,有幾個inputselect標籤。如何使輸入和選擇在CSS中相同的寬度

我使用width:100%;來定義它們的寬度,但瀏覽器中的寬度不是100%

我在chrome中使用了調試工具,發現應用了useragent樣式表樣式。

如何使寬度達到100%?

+0

你有什麼在用戶代理樣式表中發現了什麼? – anurupr

+0

我發現輸入和選擇標籤有不同的邊界值。 – user39291

+0

如何重置用戶代理樣式表的輸入和選擇。 – user39291

回答

12

Demo Fiddle

你應該從內容非常獨立的風格,所以在你的CSS包括:

input, select{ 
    width:100%; 
    box-sizing:border-box; 
} 

nb。 demo fiddle without box-sizing set

而且您需要使用box-sizing:border-box以便調整大小以考慮任何瀏覽器特定或設置的邊距/填充/邊框。 Here's a handy read on the subject.

Box-Sizing on MDN:

盒上漿CSS屬性用於改變用於計算寬度和元件的高度的默認CSS盒模型 。有可能 使用此屬性來模擬瀏覽器的行爲,而不是 正確支持CSS框模型規範。

邊界框

的寬度和高度屬性包括填充和邊界,但不 的餘量。當 文檔處於Quirks模式時,這是Internet Explorer使用的盒子模型。

+0

真誠地感謝您的回覆。 – user39291

+0

'box-sizing:border-box' saved the day –

-2

嘗試使用select標籤的寬度CSS屬性如下:

<Select name="foo" width="100" style="width: 100px"> 
<option>One</option> 
<option>Two</option> 
<option>Three</option> 
<option>Four</option> 
</select> 

所以同爲輸入標籤

<input type="text" name="faa" value="test" style="width: 100px;" /> 

您可以使用CSS樣式以及輸入標籤。

0

要覆蓋用戶代理樣式表,請在代碼中使用reset.css

/* 
     Reset .css 
    */ 

html, body, div, span, applet, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
a, abbr, acronym, address, big, cite, code, 
del, dfn, em, img, ins, kbd, q, s, samp, 
small, strike, strong, sub, sup, tt, var, 
b, u, i, center, 
dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, 
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary, 
time, mark, audio, video { 
    margin: 0; 
    padding: 0; 
    border: 0; 
    font-size: 100%; 
    font: inherit; 
    vertical-align: baseline; 
} 
/* HTML5 display-role reset for older browsers */ 
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section { 
    display: block; 
} 
body { 
    line-height: 1; 
} 
ol, ul { 
    list-style: none; 
} 
blockquote, q { 
    quotes: none; 
} 
blockquote:before, blockquote:after, 
q:before, q:after { 
    content: ''; 
    content: none; 
} 
table { 
    border-collapse: collapse; 
    border-spacing: 0; 
} 

如果你不想覆蓋用戶代理,那麼你可以去爲「PX」寬度值

+0

它沒有工作。輸入的寬度比選擇的寬度多2px。 – user39291

-1

,或者使用下面的CSS:

input[type=text], select { 
    width: 100% //or whatever you want) 
} 
+1

我試過這個,但是input&select的寬度是不同的。 – user39291

相關問題