Tôi đã tìm kiếm rộng rãi ở đây để có câu trả lời cho điều này nhưng không hoàn toàn bắt gặp những gì tôi đang tìm kiếm. Tìm thấy điều này CSS - How to Style a Selected Radio Buttons Label? nhưng câu trả lời liên quan đến việc thay đổi đánh dấu, và đó là điều tôi muốn tránh mà tôi sẽ giải thích dưới đây.Hộp kiểm CSS và nút radio khi đầu vào nằm trong nhãn?
Tôi đang cố gắng để thêm các hộp kiểm tùy chỉnh css3 và nút radio để chủ đề diễn đàn XenForo tôi, và tất cả các hướng dẫn Tôi đã đọc về vấn đề này có nhãn sau khi đầu vào:
<input type="checkbox" id="c1" name="cc" />
<label for="c1">Check Box 1</label>
Tuy nhiên trong đánh dấu XenForo của đầu vào nằm bên trong nhãn:
<label for="ctrl_enable_rte">
<input type="checkbox" name="enable_rte" value="1" id="ctrl_enable_rte" {xen:checked "{$visitor.enable_rte}"} />
{xen:phrase use_rich_text_editor_to_create_and_edit_messages}
</label>
Tôi đã tìm hiểu lý do tại sao, nhưng không tìm thấy bất kỳ điều gì liên quan đến hộp kiểm css tùy chỉnh/nút radio khi đánh dấu theo cách này. Tôi muốn tránh phải thay đổi đánh dấu, bởi vì tôi đang xử lý hệ thống diễn đàn ở đây, và điều đó sẽ liên quan đến việc chỉnh sửa một loạt các mẫu lõi ... mà tôi phải cập nhật đánh dấu trên mỗi lần phần mềm diễn đàn đưa ra một bản cập nhật (giả sử các mẫu đã thay đổi).
Tôi đã cố gắng tạo các quy tắc CSS có thể hoạt động với loại đánh dấu này, nhưng cho đến nay tôi đã không thành công. Tôi không quá kinh nghiệm với CSS, không có mọi selector được ghi nhớ, và các lớp giả vẫn còn khá xa lạ với tôi, vì vậy tôi hy vọng một ai đó ở đây có thể làm sáng tỏ nếu điều này có thể, và nếu có, làm thế nào tôi có thể đi về nó. Tôi đã có sẵn sprite của mình, tôi chỉ cần tìm ra CSS.
Vấn đề chính của tôi là tôi không thể tìm ra cách chọn nhãn (chỉ các nhãn liên quan đến các yếu tố đầu vào này). Thông thường một cái gì đó như
input[type="checkbox"] + label
được sử dụng, nhưng khi nhãn không theo sau đầu vào và thay vào đó ra ngoài/trước nó ... làm cách nào để chọn?
Thay vì chọn nhãn cho đầu vào đã chọn (mà tôi tin là không thể thực hiện trong trường hợp này với CSS chỉ như bộ chọn "cha mẹ" không tồn tại), có thể có cách giải quyết với CSS. Bạn muốn điều gì đặc biệt? –
@WesleyMurch Tôi đang cố gắng tùy chỉnh tất cả các hộp kiểm/nút radio bằng cách thêm hình ảnh sprite với vị trí nền được xác định cho mỗi trạng thái khác nhau (được chọn, di chuột, tiêu điểm, đang hoạt động, bị vô hiệu hóa). Tôi không chắc chắn những gì tôi có thể chọn để đạt được điều này, tất cả các hướng dẫn về hộp kiểm css3 tùy chỉnh và tương tự đã có nhãn sau khi đầu vào và CSS phản ánh cụ thể. Xin lỗi nếu tôi không trả lời chính xác câu hỏi của bạn hoặc có đủ chi tiết. –
Câu trả lời của bạn là rõ ràng nhưng giới hạn của bạn không hoàn toàn. Vì vậy, ngoài yêu cầu để giữ đầu vào bên trong nhãn, bạn có thể chỉnh sửa HTML không? Ví dụ: bạn có thể thêm một ô trống ' 'sau mỗi hộp kiểm hay bọc nội dung liền kề trong một không? Nếu không, tôi sợ bạn đang bị mắc kẹt bằng cách sử dụng javascript (và đó không phải là thực sự là một điều xấu). –