2014-01-18 52 views
0

2個星期前,我寫HTML和CSS代碼,這部分看起來像這一點,它工作得很好,因爲它應該是:爲什麼輸入類型=文本不能正常工作?

<div class="divclass1"> 
    <input type="text" class="inputclass1" /> 
</div> 

.divclass1 { 
    position: absolute; 
    left: 0px; 
    right: 0px; 
    height: 26px; 
    background-color: blue; 
} 

.inputclass1 { 
    position: absolute; 
    left: 0px; 
    right: 0px; 
} 

的DIV充滿(選中了鍍鉻)等是輸入字段一樣我想成爲。現在,本週我再次測試了我的未改變的html代碼(或者實際上,我正在測試一些後端代碼,但這與此問題無關),突然,輸入字段沒有填充到他的父div中,但是是默認的寬度。它就像是正確的:0px不與左邊一起工作:0px,因爲當我取消選中左:0px;在chrome中,輸入字段與右側對齊(但仍未填充)。而且,這不僅僅是Chrome的問題,IE,FF,Opera也是如此。只有Safari顯示輸入框應該是。

我添加的jsfiddle鏈接來證明這個問題:小提琴鏈接:http://jsfiddle.net/8ekbb/2/

,我發現它的解決方案工作(這也包括在小提琴),但我真的不知道,如果這個問題是一個錯誤,如果是的話,它會被修復嗎?還是現在它應該像現在一樣工作,而且它是一個現在已經修復的bug?

回答

0

您只需要使用或rightleft在CSS並添加topbottom的位置,如果你的元素有position:absolute這樣的:

.divclass1 { 
    position: absolute; 
    top:0; 
    right: 0; 
    height: 26px; 
    background-color: blue; 
    width:100%; 
} 

.inputclass1 { 
    position: absolute; 
    top:0; 
    right: 0px; 
    width:100%; 
} 

DEMO

+0

但後來它只是右對齊,不填充超出我想要的父div的寬度。 (我想與黃色背景顏色的第二個div相同) – Cornelis

+0

更新演示提琴和答案,添加寬度:100%試試我的新示例DEMO請@Cornelis –

+0

謝謝。雖然我也明白,看到我的第二個div。但我真的想知道爲什麼在0px上左右都是;不再工作,因爲它仍然在Safari瀏覽器中工作。但我必須說,它開始使用left:0px更有意義; (這是不需要了,因爲它是默認值)寬度:100%,而不是(AB)使用left:0px;與右:0px; – Cornelis

相關問題