2013-04-20 6 views
8

W arkuszu stylów MNIEJ znalazłem trudne kodowanie niektórych numerów szerokości obrazu.Czy MNIEJ można uzyskać wymiar obrazu z plików bitmapowych?

Czy można zautomatyzować funkcję LESS? na przykład

@banner-width : image-width("image/banner.png"); 
+0

Wątpię, ale z pewnością będzie to interesujące i użyteczne. –

+0

Byłoby miło, gdyby dodali to do LESS zamiast używać JavaScript. –

Odpowiedz

6

Jeśli używasz javascript realizację mniej (less.js), można użyć interpolacji między javascript back-kleszcze i użyć normalnej funkcji JavaScript - coś takiego:

@banner-width: ~`function(imguri){var img=new Image(); img.src = imguri; return img.width }('image/banner.png')`; 

lub pójść dalej i zrobić wielokrotne miksy.

MNIEJ:

.width(@img) { 
    @width: ~`function(imguri){var img=new Image(); img.src = imguri; return img.width }(@{img})`; 
    width: @width; 
} 
.height(@img) { 
    @height: ~`function(imguri){var img=new Image(); img.src = imguri; return img.height }(@{img})`; 
    height: @height; 
} 

.test{ 
    @src: 'http://www.google.com/intl/en_ALL/images/logo.gif'; 
    .width(@src); 
    .height(@src); 
} 

wyjście CSS:

.test { 
    width: 276; 
    height: 110; 
} 

który jest dokładnie to, co powinno być na to logo http://www.google.com/intl/en_ALL/images/logo.gif

  • reklama d jednostki ty coud następnie dodaj unit(@dimension,px) do mixins.
+2

Tylko uwaga, że ​​to nie działa z kompilatorem LESSC. 'Obraz jest niezdefiniowany' – RedactedProfile

Powiązane problemy