2012-09-02 28 views
6

Tôi đang cố thay đổi cách nút gửi - tôi không thể cho chúng tôi id hoặc class hoặc bất cứ thứ gì như thế.Chỉ tạo CSSing cho kiểu đầu vào - không phải cho tất cả đầu vào trong khi tôi không thể sử dụng thay đổi html ở tất cả

tôi có một div - bên trong số 2 đầu vào div 1 này là văn bản mà phần còn lại được gửi để cho biết lớp của div là chủ.

<div class="holder"> 
<input type="text" name="somename" value="somevalue"> 
<input type="submit" name="submit" value="save changes"> 
</div> 

css hiện tại của tôi là:

.holder input, textarea { 
width:250px; 
} 

Tuy nhiên đối với sự thay đổi này cả hai loại đầu vào. và tôi đang cố gắng thay đổi chúng riêng lẻ.

+2

div của bạn nói 'class =" holder "' nhưng bạn có '# holder' trong CSS. Sử dụng '.holder' cho các lớp,' # holder' cho các ID. – sachleen

Trả lời

13

Bạn có thể chỉ định các thuộc tính cụ thể cần thiết cho các thuộc tính css:

.holder input[type=submit] { 
    width:250px; 
} 

tham khảo: http://www.w3.org/TR/CSS2/selector.html#attribute-selectors

Về cơ bản, nó có nghĩa là tài sản chiều rộng chỉ áp dụng cho <input> thẻ bên trong container #holder NẾU loại thuộc tính có giá trị "gửi".

Bạn cũng có thể sử dụng trên các thuộc tính và tên:

.holder input[name=submit] { 
    width:250px; 
} 
4

Bộ chọn cho nộp đầu vào sẽ là:

.holder input[type="submit"] 

Lưu ý rằng div của bạn có một lớp của "chủ sở hữu" , không phải là id của "người giữ", vì vậy hãy sử dụng . không phải #.

+0

Cảm ơn sẽ làm việc trong tất cả các trình duyệt btw? –

+0

@NetaMeta - Nó hoạt động trong IE từ phiên bản 7 trở đi và trong tất cả các trình duyệt chính khác như được hiển thị ở đây: http://www.quirksmode.org/css/contents.html#t13 (Và rõ ràng là bạn sẽ sử dụng '. chủ đầu vào [type = "text"] 'cho trường văn bản.) – nnnnnn

Các vấn đề liên quan