2013-04-18 33 views
16

Tôi giả định rằng không thể, nhưng chỉ trong trường hợp nó là hoặc ai đó có một mẹo tốt đẹp lên tay áo của họ, là có một cách để nhắm mục tiêu các ký tự nhất định bằng cách sử dụng CSS?Kiểu ký tự nhất định với CSS

Ví dụ thực hiện tất cả các chữ z tại các khoản đỏ, hoặc trong trường hợp đặc biệt của tôi thiết lập vertical-align:sup trên tất cả các 7 trong yếu tố đánh dấu bằng lớp chord.

+0

Làm thế nào về xử lý văn bản với Javascript và thêm 'yếu tố span' với một số lớp học? – toniedzwiedz

+0

không. bạn cần sử dụng javascript hoặc một số tiền xử lý để thêm các lớp vào các ký tự được bao quanh –

+0

Trong CSS thuần túy, bộ chọn duy nhất mơ hồ tương tự như những gì bạn hỏi là ': first-letter' – FelipeAls

Trả lời

8

Điều đó là không thể trong CSS. Lựa chọn duy nhất của bạn sẽ là first-letter và điều đó sẽ không cắt nó. Sử dụng JavaScript hoặc (như bạn đã nêu trong nhận xét), ngôn ngữ phía máy chủ của bạn.

+1

Dường như câu trả lời sẽ là 'no', yes :) Tôi sẽ chấp nhận điều này khi tôi được phép. Tôi đã phân tích cú pháp hợp âm trong phụ trợ nên chỉ cần điều chỉnh đầu ra. Chỉ cần tự hỏi nếu có một cách đầu ra có thể vẫn còn ' B7' thay vì ' B B 7', đó là khá nhiều nhân vật chỉ để tạo kiểu cho hai nhân vật: p – Svish

+0

@Svish Yeah nó khá đắt tiền, nhưng bạn tạo kiểu hợp âm để không bao giờ trở thành thứ đơn giản nhất để đạt được :). Này, đừng để thêm một vài thẻ 'span' nữa làm hỏng hợp âm của bạn :) – mattytommo

+0

@Svish Vì bạn chỉ có hai chữ cái để tạo kiểu, tôi giả sử sử dụng cả hai' B7 'và' đầu tiên -bản sao' bạn có thể hoàn thành những gì bạn muốn. – xpy

17

Xin chào Tôi biết bạn đã nói bằng CSS nhưng như mọi người đã nói với bạn, bạn không thể, đây là giải pháp javascript, chỉ 2 xu của tôi.

tốt nhất ...

[http://jsfiddle.net/9LSrk/][1] 

css

span.highlight{ 
    background:#F60; 
    padding:5px; 
    display:inline-block; 
    color:#FFF; 
} 

p{ 
    font-family:Verdana; 
} 

html

<p> 
    Let's go Zapata let's do it for the revolution, Zapatistas!!! 
</p> 

javascript

jQuery.fn.highlight = function (str, className) {  
    var regex = new RegExp(str, "gi"); 

    return this.each(function() { 
     this.innerHTML = this.innerHTML.replace(regex, function(matched) {return "<span class=\"" + className + "\">" + matched + "</span>";}); 
    }); 
}; 

$("p").highlight("Z","highlight"); 

quả enter image description here

+1

Đây là giải pháp tuyệt vời - Bất kỳ cơ hội nào bạn có thể cập nhật regex để nó không nhắm mục tiêu nhân vật trong thuộc tính? Nó phá vỡ thuộc tính href của một liên kết vì có một ký tự trùng khớp trong URL được liên kết đến. Cảm ơn! –

+0

bạn có đang truyền một khối văn bản hoàn chỉnh, có chứa các liên kết bên trong không? – ncubica

+1

Có, khi áp dụng cho các đoạn văn. Có vẻ như tôi đã tránh được vấn đề bằng cách chỉ nhấn V vốn thay vì tất cả các ký tự v và đảm bảo không có vốn V trong bất kỳ liên kết nào. Tôi sử dụng điều này để thắt chặt khoảng cách kerning/letter-awkward. –

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