2013-04-01 24 views
13

Tôi muốn đạt được những điều sau đây trong css. Làm cách nào để tôi thực hiện theo cách thức hoạt động trong IE8 +nối chuỗi trong css

url('../img/icons/' + attr('type') + '_10.png') 
+0

Bạn không thể; lấy làm tiếc. – zzzzBov

+0

@zzzzBov làm cách nào để tôi thực hiện điều này [class^= "connection -"] :: sau – aWebDeveloper

+0

Bạn có thể cụm từ đó dưới dạng câu hỏi không? Tôi không chắc bạn đang hỏi tôi ở đây. – zzzzBov

Trả lời

1

Bạn không thể làm suy chuỗi động theo cách mà bạn đang đề xuất, nhưng nếu bạn có một số giới hạn các giá trị có thể cho thuộc tính [type], bạn có thể tạo phong cách cho mỗi người:

.your .selector[type="foo"] { 
    background-image: url('../img/icons/foo_10.png'); 
} 
.your .selector[type="bar"] { 
    background-image: url('../img/icons/bar_10.png'); 
} 
.your .selector[type="baz"] { 
    background-image: url('../img/icons/baz_10.png'); 
} 

Nếu bạn có một số loại không hợp lý, thì có thể bạn sẽ cần đến một giải pháp tốt hơn so với những gì tôi đã liệt kê ở đây.

14

Tôi không nghĩ bạn có thể làm được. Trong thuộc tính content, bạn có thể "ghép nối" chỉ bằng cách tách biệt với một khoảng trắng, nhưng ở những nơi khác, tôi không nghĩ có một tính năng như vậy. Đó là một sự xấu hổ.

Có thể bạn sẽ tốt nhất không chỉ định kiểu này trong thuộc tính style bất cứ khi nào thuộc tính type được sử dụng.

+2

Tôi tin rằng điều này đang đến trong đặc điểm kỹ thuật, chưa được hỗ trợ trong bất kỳ trình duyệt nào. https://developer.mozilla.org/en/docs/CSS/attr#Browser_Compatibility –

+0

@ Fabrício Matté: Thật không may đây là một vấn đề với url() và không phải với attr() bất kể hỗ trợ trình duyệt, và nó có thể không bao giờ có thể trừ khi họ yêu cầu lại url(). Xem câu trả lời của tôi ở đây: http://stackoverflow.com/questions/42932294/css-attr-concatenation-with-url-path/42932766#42932766 – BoltClock

5

Không, bạn không thể làm điều này trong CSS đơn giản bởi vì ngôn ngữ CSS đã không kiểm soát cấu trúc hoặc bất cứ điều gì như Mà đó sẽ cho phép bạn dinamically tạo mã CSS.

Thay vào đó, bạn có thể sử dụng giải pháp javascript hoặc giải pháp dựa trên biến CSS được mã hóa bằng PHP.

-2

chỉ cần sử dụng này:

url('../img/icons/' attr('type') '_10.png') 
+0

** Từ hàng đánh giá **: Tôi có thể yêu cầu bạn thêm một số bối cảnh xung quanh câu trả lời của bạn. Các câu trả lời chỉ có mã khó hiểu. Nó sẽ giúp người hỏi và người đọc trong tương lai cả khi bạn có thể thêm nhiều thông tin hơn trong bài đăng của mình. – RBT