WebLoader icon indicating copy to clipboard operation
WebLoader copied to clipboard

Css sprites filter

Open janmarek opened this issue 14 years ago • 9 comments

Bylo by hezké mít filtr na css sprity. Představoval bych si to asi tak, že

sprite('../image/logo.png')

v css se převede cca na

url('sprite-neco.png') 50px 0px

a vygeneruje se ten obrázek. Ale je to moc práce, takže očekávám, že mi někdo šikovný pošle pull request ;)

janmarek avatar Feb 15 '12 11:02 janmarek

jestli mohu pridat dopozadavek :-) tak je to spriteVertical() & spriteHorizontal()

chemix avatar Feb 15 '12 12:02 chemix

No jde o to ze pokud delas sprite tak beru 3 druhy sprite souboru, prvni klasicky je ikonkovy ( titulky, no proste obdelniky co se neopakuji) a muzes je hazet vedle sebe do radku a jakmile uz jich tam je dost zacnes novej radek http://twitter.github.com/bootstrap/assets/img/glyphicons-halflings.png )

Dalsi dva jsou pro opakovaci textury a to samostatne pro vertikalni a horizontalni aby se mohlo nastavit background-repeat.

  • jako parametr bych pridal i nepovinny parametr sprite('../image/logo.png', 'spriteName') pro pripadnou moznost optimalizace ( index, settings, ... )

chemix avatar Feb 15 '12 13:02 chemix

Pokud by se do toho chtěl v budoucnu někdo pustit, dávám odkaz na algoritmus v c# - http://www.codeproject.com/Articles/210979/Fast-optimizing-rectangle-packing-algorithm-for-bu (původně jsem se do toho chtěl pustit sám, ale zabralo by to více času, než kolik mám k dispozici)

norbe avatar Mar 21 '14 06:03 norbe

Někdy v průběhu tohoto nebo příštího týdne se tomuto budu věnovat.

ghost avatar Feb 17 '15 21:02 ghost

:+1:

fprochazka avatar Feb 17 '15 22:02 fprochazka

cool

janmarek avatar Feb 18 '15 00:02 janmarek

Trošku jsem se seknul, chtěl bych to dát k diskusi. Syntax sprite navrhuji změnit na něco jako je toto:

sprite: url(../images/icon.png);

Opakování kvůli lištám a podobně:

sprite-repeat: repeat-x | repeat-y | repeat;

Případně:

sprite: url(...) repeat-x;
sprite: url(...) repeat-y;
sprite: url(...) repeat;

Konstrukce sprite(...) vyvolá v editorech nejspíše dost často syntax error, zatímco díky miliardám vlastností projdou ty navrhované pouze s warningem.

Dále, ne vždy se hodí mít element veliký přesně jako obrázek s ikonou. Řeší to vlastnost clip. Ta je podporována všude a v IE8+. Otázka, jestli to teda využívat a případně jak na to připravit syntax.

ghost avatar Mar 02 '15 23:03 ghost

nešlo by to nějak přes background-image a komentář (aby to bylo kompatibilní s normálním css)

janmarek avatar Mar 03 '15 00:03 janmarek

Možná by šlo něco jako url(sprite:...).

ghost avatar Mar 03 '15 07:03 ghost