2014-01-18 51 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

相关问题