如何选择除最后一个之外的所有元素

时间:2013-07-07 08:32:30

标签: css css3

                <form class="fin-search-input" method="post" action="../FinServlet">
                    <li><BR><input type="text" name="ticker" placeholder="Ticker*"></li>
                    <li><input type="text" name="fromDate" placeholder="From" id="fromDate"></li>
                    <li><input type="text" name="toDate" placeholder="To" id="toDate"></li>
                    <li><input type="submit" value="search" class="submitButton"></li>
                </form>

如何选择除最后一个之外的所有输入元素? 这就是我试过的:

.fin-search-input input:not(:last-of-type){
    height:13px !important;
    width:90%;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -moz-box-shadow:inset 2px 2px 2px #888;
    box-shadow:inset 2px 2px 2px #888;
  }

此css不适用于任何输入元素。

4 个答案:

答案 0 :(得分:2)

您的选择器似乎有误,对于您发布的HTML ,每个 input都是其父元素中的:last-of-type。您需要选择input :last-of-type元素中包含的li而不是(我假设):

.fin-search-input li:not(:last-of-type) input {
    /* css */
}

JS Fiddle demo

答案 1 :(得分:1)

你试过这个吗?

.fclass input:not(:last-of-type) { color:red } 

答案 2 :(得分:0)

:last-child选择器应该有效。我检查了一下。改为使用last-of-type。 :last-of-type选择器匹配其父元素的特定类型的最后一个子元素。

选中此FIDDLE

答案 3 :(得分:0)

实际上,您当前的代码有效。

:last-child可以通过:not

这种方式使用

<强> FIDDLE