<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Václav Vracovský &#8211; Medio Blog</title>
	<atom:link href="https://blog.medio.cz/autor/vracovsky/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.medio.cz</link>
	<description></description>
	<lastBuildDate>Mon, 29 Aug 2016 08:26:31 +0000</lastBuildDate>
	<language>cs</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.1</generator>
	<item>
		<title>Jak používáme Bootstrap</title>
		<link>https://blog.medio.cz/jak-pouzivame-bootstrap</link>
					<comments>https://blog.medio.cz/jak-pouzivame-bootstrap#comments</comments>
		
		<dc:creator><![CDATA[Václav Vracovský]]></dc:creator>
		<pubDate>Mon, 13 Jan 2014 07:00:50 +0000</pubDate>
				<category><![CDATA[Grafika a webdesign]]></category>
		<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Kódování]]></category>
		<category><![CDATA[LESS]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=1246</guid>

					<description><![CDATA[Framework "Bootstrap":http://getbootstrap.com/ jistě není třeba představovat. Rád bych se s vámi v tomto článku podělil nejen o můj způsob používání Bootstrapu, ke kterému jsem se praxí propracoval, ale také o špatné postupy, které jsem v praxi viděl.]]></description>
										<content:encoded><![CDATA[<p>Framework <a title="Bootstrap" href="http://getbootstrap.com/">Bootstrap</a> jistě není třeba představovat, to za mě udělali jiní, nedávno například <a title="Martin Michálek na Zdrojáku" href="http://www.zdrojak.cz/clanky/k-cemu-je-dobry-bootstrap-frontend-frameworky/">Martin Michálek na Zdrojáku</a>. Rád bych se s vámi v tomto článku podělil nejen o můj způsob používání Bootstrapu, ke kterému jsem se praxí propracoval, ale také o špatné postupy, které jsem v praxi viděl. A protože žádný učený z nebe nespadl, někdy to budou i moje vlastní chyby.</p>
<h2>Několik dobrých návyků na úvod</h2>
<h3>Jedině s preprocesorem</h3>
<p>Používání Bootstrapu bez preprocesoru nelze nazvat jinak než slepou uličkou. Používat zbytečně celý vygenerovaný Bootstrap, když z něj využijeme jen několik málo procent, je špatný nápad. Tím spíše dnes, kdy se díky (nikoli <em><strong>kvůli</strong></em>) mobilnímu internetu musí znovu hledět na výslednou velikost stránek. Naklikat si potřebné komponenty a vygenerovat si CSS přímo ze stránek Bootstrapu je už lepší řešení, ale stále dost nešikovné. Nainstalovat si vše potřebné, co k používání preprocesoru potřebujeme, je otázka několika minut a benefity, které používáním preprocesoru získáme, jsou velké. A i když existují porty Bootstrapu do SASSu i Stylusu, je zdaleka nejlepší a určitě nejjednodušší používat <a title="nativní LESS" href="http://lesscss.org/">nativní LESS</a>.</p>
<h3>Nešťourat se v Bootstrapu</h3>
<p>Nedělat v LESS modulech Bootstrapu <strong>žádné</strong> změny je jednoznačně dobrý nápad, který oceníte při aktualizaci na novější verzi frameworku. Čestnou výjimku tvoří soubory <em><strong>bootstrap.less</strong></em>, kde se importují potřebné moduly, lépe řečeno zakomentují ty nepotřebné, a <em><strong>variables.less</strong></em>, ve kterém si můžeme Bootstrap &#8222;obléct&#8220; do svých barev a fontů, nastavit paddingy a mnoho dalšího.</p>
<h3>Zvažte, kdy je vhodné Bootstrap použít</h3>
<p>I když v poslední době používám Bootstrap téměř na vše, jednu čestnou výjimku jsem za poslední rok měl. Byl to atypický web, kde by bylo použití Bootstrapu spíše kontraproduktivní, proto jsem z něj použil pouze mixiny. Určitě je tedy dobré předem myslet také na to, zda je opravdu potřeba Bootstrap použít.</p>
<h3>Když už ho použijete, využijte ho</h3>
<p>Na naprostou většinu prvků, které &#8222;vypadnou&#8220; od grafika, můžete použít nějakou Bootstrap komponentu. A to platí i v případě, že grafik s použitím Bootstrapu předem nepočítal. Když už Bootstrap používáme, je z mnoha důvodů (<em><strong>budoucí úpravy, práce více lidí v týmu&#8230;</strong></em>) dobré maximálně využít jeho komponenty. Takže předtím, než začnete psát vlastní HTML, je dobré zamyslet se, zda je to opravdu potřeba.</p>
<h3>Neškrábat se pravou rukou za levým uchem</h3>
<p>Někdy je ale vlastní HTML nejlepší řešení. Je v grafickém návrhu prvek, u kterého váháte, jakou Bootstrap komponentu pro něj použít? Možná bude nejlepší nepoužít žádnou a napsat si HTML i CSS kompletně sám. Čím déle Bootstrap používám, tím více se snažím využívat maximálně využívat jeho komponenty, ale vlastní HTML je někdy to nejjednodušší a nejlepší řešení.</p>
<h2>Jak Bootstrap používáme u nás</h2>
<p>Prohlédněte si <a href="https://bitbucket.org/vencav/css-sample/src/e6de4db8e9c3?at=master">část našeho interního frameworku</a>, ve kterém vyvíjím nové šablony.</p>
<p>1) Ve složce <strong>/bootstrap</strong> jsou všechny LESS moduly Bootstrapu. A jak jsem psal výše, v této složce se vůbec nešťourám (zde dokonce bez výjimky).<br />
2) Ve složce <strong>/modules</strong> mám připravené vlastní LESS moduly &#8211; jsou tam ty &#8222;základní&#8220;, které používám na každém projektu. Projekt od projektu se pak rozhoduji, zda se pro přehlednost vyplatí přidat nějaké další.<br />
3) Poslání souboru <strong>ie8.less</strong> je myslím jasné už z jeho názvu a netřeba vysvětlovat. Jsem rád, že tento soubor zůstává poslední dobou téměř nebo úplně prázdný :-)<br />
4) Soubor <strong>main.less</strong> si zaslouží vlastní nadpis.</p>
<h3>main.less</h3>
<p>V tomto souboru se importují jednotlivé moduly, kompiluje se z něj také výsledné CSS. Nejdříve se naimportují potřebné Bootstrap moduly. Jak si můžete všimnout, &#8222;v základu&#8220; mám pouze ty nezbytné (<strong><em>scaffolding</em>, <em>grid</em>&#8230;</strong>) a ty &#8222;nezbytné&#8220; (<em><strong>forms, buttons</strong></em>), zbytek je zakomentovaný. Následně importuji svoje moduly, na závěr pak ty responzivní. Responzivní moduly jsou pojmenované tak, jak má své responzivní třídy/proměnné pojmenované Bootstrap, tedy se suffixem <em><strong>xs</strong></em>, <em><strong>sm</strong></em>, <em><strong>md</strong> </em>a <em><strong>lg</strong></em>.</p>
<h3>Popis jednotlivých souborů</h3>
<ul>
<li><strong>variables.less</strong> &#8211; toto je soubor, který v podstatě vždy upravuji jako první. Přepisuji zde hodnoty výchozích Bootstrap proměnných a také deklaruji vlastní proměnné.</li>
<li><strong>bootstrap.less</strong> &#8211; soubor s mírně matoucím názvem. Zde přepisuji CSS pro jednotlivé Bootstrap komponenty. Pokud je CSS u některé komponenty hodně rozsáhlé, pro přehlednost pro ni vytvořím samostatný modul.</li>
<li><strong>common.less</strong> &#8211; zde píšu všechno ostatní CSS. A stejně jako u předchozího bodu, pokud se to v zájmu přehlednosti vyplatí, vytvořím pro některé prvky vlastní modul. Běžně to bývá pro hlavičku, patičku, menu, boxy atd.</li>
<li><strong>responzivní moduly</strong> si zaslouží podrobnější představení.</li>
</ul>
<h3>Mobile first</h3>
<p>„První pravidlo <strong>Media queries</strong> je to, že žádná media queries nejsou,“ jak pravil <a href="http://akademie.medio.cz/responsive-webdesign">Honza Sládek</a>. A já si poslední dobou vzal jeho slova k srdci. Proto nejprve píšu CSS pro všechny prohlížeče/rozlišení a teprve nakonec přidávám styly pro různá rozlišení, počínaje <em><strong>sm</strong></em>, přes <em><strong>md</strong> </em>až po <em><strong>lg</strong></em>. Začnu u <em><strong>sm</strong> </em>rozlišení a postupně &#8222;přidávám&#8220; až k desktopu. Soubor <em><strong>responsive-xs</strong></em> je naopak pro nejmenší displeje &#8211; s mobile first přístupem bývá tento soubor často prázdný, ale občas je potřeba něco definovat jen pro malé displeje. Tolik krátká, leč velmi důležitá odbočka od Bootstrapu.</p>
<h2>Závěrem</h2>
<p>Tolik tedy o mém pohledu na Bootstrap a na práci s ním. Budu se těšit na vaše komentáře, ve kterých se můžete také podělit o své zkušenosti a workflow, které s Bootstrapem používáte.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/jak-pouzivame-bootstrap/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Hledá se vhodná třída. Zn.: Spěchá!</title>
		<link>https://blog.medio.cz/hleda-se-vhodna-trida</link>
					<comments>https://blog.medio.cz/hleda-se-vhodna-trida#comments</comments>
		
		<dc:creator><![CDATA[Václav Vracovský]]></dc:creator>
		<pubDate>Tue, 09 Aug 2011 19:44:42 +0000</pubDate>
				<category><![CDATA[Grafika a webdesign]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Kódování]]></category>
		<guid isPermaLink="false">https://blog.medio.cz/?p=223</guid>

					<description><![CDATA[Čím rozsáhlejší web, tím více CSS tříd. Některé jejich názvy mám už za léta používání zažité a jsou myslím jasně srozumitelné i pro nezávislého „čtenáře“ mých stylopisů. Ale co s dalšími a dalšími třídami, které u rozsáhlých projektů přibývají s každým dalším zpracovaným grafickým návrhem?]]></description>
										<content:encoded><![CDATA[<p>Čím rozsáhlejší web, tím více CSS tříd. **Některé jejich názvy mám už za léta používání zažité** a jsou myslím jasně srozumitelné i pro nezávislého „čtenáře“ mých stylopisů, například <code>container</code>, <code>content</code> nebo <code>sidebar</code>. Podle složitosti grafického návrhu případně doplněné o ocásek typu <code>-inner</code>, <code>-wrapper</code>&#8230; </p>
<p>Ale co s dalšími a dalšími třídami, které u rozsáhlých projektů přibývají s každým zpracovaným grafickým návrhem? V některých situacích už mi dochází fantazie, když musím **horko těžko vypotit další název třídy**. Podle grafického návrhu je většinou jasné, jakou bude stylovaný element plnit funkci, ale co s podobnými nebo třeba jen lehce změněnými elementy?</p>
<h2>Hrušky a Jablka kontra Ovoce</h2>
<p>Jako názorný příklad si vezměte tabulku obsahující hrušky. Dostane <code>class="hrusky"</code>, nějaké ty styly a hotovo, odjezd. Jenže ejhle, v dalším návrhu je tabulka, která vypadá úplně stejně jako předcházející s hruškami, ale obsahuje jablka. Co s tím? Nechat nelogický název třídy, nebo přepsat na <code>class="jablka"</code>? </p>
<p>Nejlepší by bylo dát oběma tabulkám <code>class="ovoce"</code>. Co když to ale z nějakého důvodu (šablona už je nasazená v aplikaci, muselo by se to přepisovat na X místech) nejde? Možná si také říkáte „Hloupý kodér, který nemyslí dopředu“, ale&#8230;</p>
<h2>Za kolik rohů má kodér nahlížet?</h2>
<p>Dobrý kodér by měl určitě za nějaký ten roh dopředu vidět, ale „vocaď pocaď“. Určitě by neměl jen tupě otevřít první  péesdéčko a odshora dolů nakódovat. Osobně se mi osvědčilo si nejdříve opravdu důkladně **prohlédnout drátové modely i grafické návrhy a zamyslet se nad nimi**. Chvíle rozjímání nad návrhy, než člověk otevře editor, se mi potom při kódování několikanásobně vrátí.</p>
<p>Ale přeci jen jsem placený za kódování, nikoli za rozjímání, takže někde musí být hranice, kdy musím svoje „co kdyby“ rázně utnout a začít kódovat. **Od jistého okamžiku už je cokdybování kontraproduktivní.** Lehko si s ním vykonstruuji situace, které nikdy nenastanou. </p>
<p>Vrátím-li se tedy k výše uvedenému hruškovému příkladu, pak tedy ano &#8211; mohl jsem vědět dopředu, že se může vyskytnout i tabulka s jablky a pojmenovat třídu obecněji. Ale co kdyby se jednou v tabulce objevily třeba okurky? Bramborové knedlíky? Vzducholodě? Vycházkové hole asi takhle dlouhé?</p>
<p>Myslím, že někde u okurek je dobré rozjímání skončit a pojmenovat třídu <code>potraviny</code>, byť by se to v budoucnu mohlo ukázat jako špatné rozhodnutí. </p>
<p>Ono nahlížení za roh se netýká jen takových triviálních věcí, jako jsou názvy tříd. Jsou tu i úvahy typu „A co by se asi stalo, kdyby ten nadpis byl delší než v návrhu?“ nebo „Co když tam **nebude** tenhle box?“ nebo „Co když tam **bude** nějaký box navíc?“</p>
<h2>A co vy?</h2>
<p>**Máte pod kůží nějaké pojmenovávací konvence?** Jaké názvy tříd používáte? Můžete (musíte) si je vymýšlet sami, nebo vaše firma v coding standards myslela i na HTML a CSS? **Za kolik rohů nahlížíte?** Budu rád za vaše komentáře!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.medio.cz/hleda-se-vhodna-trida/feed</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
