2013-07-26 36 views

Trả lời

8

Tiếp tục để câu trả lời khác, nó cũng (trong Chromium ít nhất) hoạt động với các yếu tố với display: inline-block , do đó, display chỉ đơn giản là phải là bất cứ điều gì khác hơn inline (bao gồm list-item), ví dụ:

strong { 
    font-weight: bold; 
    color: blue; 
    display: inline-block; 
} 
strong::first-letter { 
    color: red; 
} 

JS Fiddle demo.

Ngoài ra, ::first-letter là phần tử giả, do đó cú pháp phải là dấu hai chấm thay vì đơn, để phân biệt bộ chọn từ lớp giả.

+0

Nó hoạt động! Tuyệt vời addution. Và tôi xác minh nó hoạt động trong IE10 là tốt. – GolezTrol

+1

':: first-letter' sẽ hoạt động trên bất kỳ phần tử nào chứa ngữ cảnh định dạng nội tuyến. Nếu một phần tử tham gia vào một bối cảnh định dạng nội tuyến mà không cần tạo chính nó, ':: first-letter' sẽ không bao giờ áp dụng. Điều đó khiến bạn có bất kỳ thứ gì ngoại trừ 'display: inline' và' display: none'. Cũng lưu ý rằng bạn có thể giữ các dấu hai chấm đơn cho một số phần tử giả nếu bạn yêu cầu khả năng tương thích IE cũ, nếu không thì thực hành tốt là sử dụng dấu hai chấm. – BoltClock

5

first-letter không hoạt động với các phần tử nội tuyến, chỉ trên các phần tử khối.

+1

Tôi hiểu. Nếu tôi thêm màn hình: chặn nó hoạt động. – simple

2

first-letter chỉ có thể được sử dụng với các phần tử khối.

này sẽ làm việc, nhưng câu hỏi là cách hữu ích một mức khối strong là:

http://jsfiddle.net/UZpLG/

strong { 
    font-weight: bold; 
    color: blue; 
    display: block; 
} 
strong:first-letter { 
    color: red; 
} 


<strong>test test</strong> 
0

Đây là JSBin

: đầu tiên chữ không hoạt động với các yếu tố inline

Sửa đổi CSS của bạn với một này, thêm display: block trong bạn mạnh {...}

strong { 
    font-weight: bold; 
    color: blue; 
    display: block; 
} 
strong:first-letter { 
    color: red; 
} 
0

Bạn nên đọc khoảng Note: The "first-letter" selector can only be used with block-level elements.

Block-level elements

và gương http://jsfiddle.net/eLvWt/6/

strong { 
    display:block; 
    color:green; 
} 

strong:first-letter { 
    color: red; 
} 

chú ý: Xin vui lòng bỏ qua tài liệu tham khảo này câu trả lời của tôi kể từ khi nó được ra-ngày.

+0

Mặc dù nó có thể đúng trong trường hợp này, w3schools là một tài nguyên khủng khiếp để sử dụng làm tài liệu tham khảo vì nó thường sai. –

+4

@RoddyoftheFrozenPeas - Trên thực tế w3schools là sai một lần nữa. Các phần tử có 'display: inline-block' là các phần tử mức nội tuyến, nhưng': first-letter' làm việc với nó. Yếu tố quan trọng là nó tạo ra một hộp * khối * có một chồng các hộp đường, do đó, có một chữ cái đầu tiên của dòng đầu tiên, có thể được tạo kiểu cho phù hợp. – Alohci

+0

Cảm ơn thông tin của bạn. Tôi sẽ cập nhật câu trả lời của mình để thông báo về điều đó –

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