2013-02-26 81 views
2

如果我有一个多输入类型的文本,我想只显示3个顶部。 我用这个HTML和CSS。但隐藏失败。通过css从多个输入隐藏最后3个输入类型文本

http://jsfiddle.net/naresh_kumar/qecCC/

HTML

<div id="urlLinksInput"> 
    <p> 
     <input id="inputurl0" name="inputurl[]" type="text" class="txtinput"> 
    </p> 
    <p> 
     <input id="inputurl1" name="inputurl[]" type="text" class="txtinput"> 
    </p> 
    <p> 
     <input id="inputurl2" name="inputurl[]" type="text" class="txtinput"> 
    </p> 
    <p> 
     <input id="inputurl3" name="inputurl[]" type="text" class="txtinput"> 
    </p> 
    <p> 
     <input id="inputurl4" name="inputurl[]" type="text" class="txtinput"> 
    </p> 
</div> 

CSS

#urlLinksInput p input:nth-child(n+3) { display: none; } 
+2

为什么不添加特定的类用于要隐藏的输入?只需添加类似隐藏的类,并在CSS中添加此样式.hidden {display:none;},稍后如果要显示它,将会很容易,只需使用jquery查找此类。 – 2013-02-26 08:58:10

+0

你的建议很好。但我需要隐藏这在响应..只隐藏为320 * 480。 – Johan 2013-02-26 09:13:33

回答

3
#urlLinksInput p:nth-child(n+3) input { 
    display: none; /* ^----this must be here,as <p> has only ONE child, 
              and that is <input>*/ 
} 

demo

+0

它不会为版本9之前的IE浏览器工作 – 2013-02-26 09:00:42

2

使用HTML5 hidden attribute

<input type="text" hidden> 

...这个后备的CSS不支持的浏览器:

[hidden] { 
    display: none; 
} 

Demo


编辑

更好用input[type=hidden]。它的工作原理与文本输入类似,您可以通过JavaScript与其交互,但它已隐藏:

<input type="hidden"> 
+0

对不起,但我接受了答已经.. 但给了你这个投票。 – Johan 2013-02-26 08:35:06

相关问题