<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Deep Thoughts by Mark Otto</title>
	
	<link>http://www.markdotto.com</link>
	<description>But not really...</description>
	<lastBuildDate>Fri, 17 Feb 2012 14:00:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mdo" /><feedburner:info uri="mdo" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Bootstrap 2.0.1 released</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/sQtJe9ro4pc/</link>
		<comments>http://www.markdotto.com/2012/02/17/bootstrap-2-0-1-released/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 14:00:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=978</guid>
		<description><![CDATA[TweetAfter a few weeks of hardcore bugfixing, Jacob and I are happy to finally push out a fairly stable patch to Bootstrap 2 that resolves a bunch of issues. Here are the highlights on what&#8217;s new: Previously the docs called for use of .control-label in the examples, but the CSS didn&#8217;t make clear use of [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2012%2F02%2F17%2Fbootstrap-2-0-1-released%2F&amp;text=Bootstrap%202.0.1%20released%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2012%2F02%2F17%2Fbootstrap-2-0-1-released%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>After a few weeks of hardcore bugfixing, Jacob and I are happy to finally push out a fairly stable patch to <a href="http://twitter.github.com/bootstrap/">Bootstrap 2</a> that resolves a bunch of issues. <strong>Here are the highlights on what&#8217;s new:</strong></p>

<ul>
<li>Previously the docs called for use of <code>.control-label</code> in the examples, but the CSS didn&#8217;t make clear use of it. This class is required for horizontal forms and has been reflected in the CSS.</li>
<li>We&#8217;ve tried our best to improve rendering of buttons and icons across all browsers. Some issues remain; Firefox throws an <code>!important</code>on <code>line-height</code> for inputs, so that&#8217;s the big one.</li>
<li>We refined the label component style to move away from uppercase.</li>
<li>Added the black button option, <code>.btn-inverse</code>.</li>
<li>Added a mini button class, <code>.btn-mini</code>.</li>
<li>We had to re-add the protocol, <code>http:</code> to the HTML5 schim because IE7-8 wouldn&#8217;t recognize it, dropping some HTML5 support for those browsers and introducing major performance issues.</li>
<li>Resolved some issues with responsive layouts where media queries would overlap at 768px and 980px.</li>
<li>Rearranged Scaffolding docs page to split fixed and fluid grid systems.</li>
<li>Tons of docs updates for typos and language changes.</li>
</ul>

<p>For a full list of bug fixes in this release, check out <a href="https://github.com/twitter/bootstrap/issues?milestone=8&amp;state=closed">the 2.0.1 milestone</a> on GitHub. All in all, we closed over 100 issues with over 150 commits&mdash;not bad for a patch release! A big thanks to all who reported bugs and added pull requests, we couldn&#8217;t do this without you nerds.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/sQtJe9ro4pc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2012/02/17/bootstrap-2-0-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2012/02/17/bootstrap-2-0-1-released/</feedburner:origLink></item>
		<item>
		<title>Scope CSS classes with prefixes</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/zoD81O4QX_w/</link>
		<comments>http://www.markdotto.com/2012/02/16/scope-css-classes-with-prefixes/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 14:00:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=973</guid>
		<description><![CDATA[TweetWhen building a CSS design system like Bootstrap, it&#8217;s important to keep things simple, durable, and flexible. This is no easy task, especially on larger teams and projects where the number of components can become quite high. To help improve this situation in a CSS design system, you might consider using prefixed classes instead of [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2012%2F02%2F16%2Fscope-css-classes-with-prefixes%2F&amp;text=Scope%20CSS%20classes%20with%20prefixes%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2012%2F02%2F16%2Fscope-css-classes-with-prefixes%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>When building a CSS design system like <a href="https://github.com/twitter/bootstrap/">Bootstrap</a>, it&#8217;s important to keep things simple, durable, and flexible. This is no easy task, especially on larger teams and projects where the number of components can become quite high. To help improve this situation in a CSS design system, you might consider using prefixed classes instead of chained classes.</p>

<p>Taking the <strong>chained classes</strong> approach, your CSS selectors might look something like this for a given set of components:</p>

<pre class="prettyprint linenums">
.success { ... }
.btn.success { .. }
.alert.success { ... }
</pre>

<p>We have here a global base class, <code>.success</code>, that might house all the commonalities between successful buttons and alerts. Then, at the individual component level, we add on or override as necessary. However, this wide open class and chained approach exposes developers to a number of questions and potential paint points:</p>

<ul>
<li>What&#8217;s that base class stand for?</li>
<li>What elements will be affected at the root level?</li>
<li>How many elements have <code>.success</code> chained onto them?</li>
<li>Can it be extended further to more components?</li>
<li>What if one instance of <code>.success</code> uses green text on a white background while another uses white text on a green background?</li>
</ul>

<p>And those questions barely scratch the surface. This solution isn&#8217;t necessarily bad, but when scale, brevity, and flexibility are your top requirements, it might not be the best idea. A better solution might be using prefixed classes.</p>

<p><strong>Prefixed classes</strong> guide developers towards a simpler and more maintainable direction for building an extensive CSS design system. Here&#8217;s what we have if we take away the generic base class and scope things per component with prefixes:</p>

<pre class="prettyprint linenums">
.btn-success { ... }
.alert-success { ... }
</pre>

<p>This way, <strong>the base class is at the component level</strong> and not the entire system level. In other words, our base classes have become <code>.btn</code> and <code>.alert</code>, not <code>.success</code>. There&#8217;s no bleeding of styles or behavior from one component to another here because we treat components in a &#8220;successful state&#8221; as an idea across the design system. That is to say, we have a shared <em>idea</em> of what &#8220;success&#8221; looks for buttons and alerts, but the <em>execution</em> is scoped entirely to each independent component. No questions of where common styles are used and no concern of unintended effects, making each component more durable and flexible.</p>

<p>While a very tactical and detail-oriented practice, building components that inherently isolate themselves for improved modularity and customization in a system like Bootstrap makes for better code and a more enjoyable project down the line.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/zoD81O4QX_w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2012/02/16/scope-css-classes-with-prefixes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2012/02/16/scope-css-classes-with-prefixes/</feedburner:origLink></item>
		<item>
		<title>Slides posted from the Twitter Open Source Summit</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/595KltQQlf0/</link>
		<comments>http://www.markdotto.com/2012/02/06/slides-posted-from-the-twitter-open-source-summit/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:04:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bootstrap]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=963</guid>
		<description><![CDATA[Tweet If you didn&#8217;t have a chance to make it out to last week&#8217;s event, you can view the slides on Speaker Deck from our Bootstrap 2 announcement at Twitter HQ. In our presentation, Jacob and I walked through a brief update and history of Bootstrap, some of the new hotness in v2, and a [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2012%2F02%2F06%2Fslides-posted-from-the-twitter-open-source-summit%2F&amp;text=Slides%20posted%20from%20the%20Twitter%20Open%20Source%20Summit%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2012%2F02%2F06%2Fslides-posted-from-the-twitter-open-source-summit%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><script src="http://speakerdeck.com/embed/4f298b85c7d1bf001f016eec.js"></script></p>

<p>If you didn&#8217;t have a chance to make it out to last week&#8217;s event, you can view the slides on <a href="http://speakerdeck.com">Speaker Deck</a> from <a href="http://speakerdeck.com/u/mdo/p/bootstrap-2">our Bootstrap 2 announcement</a> at Twitter HQ. In our presentation, Jacob and I walked through a brief update and history of Bootstrap, some of the new hotness in v2, and a quick look at the future of the toolkit. Also, be sure to check out the slides from <a href="https://twitter.com/sayrer">Rob Sayre</a>&#8216;s <a href="http://speakerdeck.com/u/sayrer/p/hoganjs">Hogan.js talk</a> and <a href="https://twitter.com/seanherron">Sean Herron</a>&#8216;s <a href="http://speakerdeck.com/u/seanherron/p/opennasa-twitter-open-source-summit">NASA &amp; Open Source talk</a>.</p>

<p>Thanks again to all those who made it out, helped test <a href="http://twitter.github.com/bootstrap/">Bootstrap 2</a>, and contributed to the project. We couldn&#8217;t do it without you nerds!</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/595KltQQlf0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2012/02/06/slides-posted-from-the-twitter-open-source-summit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2012/02/06/slides-posted-from-the-twitter-open-source-summit/</feedburner:origLink></item>
		<item>
		<title>Bootstrap 2 ready for testing and feedback</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/m29g41PbViY/</link>
		<comments>http://www.markdotto.com/2012/01/24/bootstrap-2-ready-for-testing-and-feedback/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 18:25:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=954</guid>
		<description><![CDATA[TweetMy fellow nerds, I&#8217;m very happy to announce that Bootstrap 2 drops January 31. To ensure we have the very best release possible, we&#8217;re opening up the branch and encouraging everyone to jump in and test the new code. We have a lot of new features, rewritten documentation, and use cases to test with the [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2012%2F01%2F24%2Fbootstrap-2-ready-for-testing-and-feedback%2F&amp;text=Bootstrap%202%20ready%20for%20testing%20and%20feedback%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2012%2F01%2F24%2Fbootstrap-2-ready-for-testing-and-feedback%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>My fellow nerds, I&#8217;m very happy to announce that <a href="http://twitterbootstrap2.eventbrite.com/">Bootstrap 2 drops January 31</a>. To ensure we have the very best release possible, we&#8217;re opening up the branch and encouraging everyone to jump in and test the new code. We have a lot of new features, rewritten documentation, and use cases to test with the addition of media queries.</p>

<p>This week at Twitter is Hack Week and Jacob and I have dedicated the entire week to working on Bootstrap 2 to get ready for the release. There&#8217;s a ton to do, but we&#8217;re confident we can get it all done with your help testing and providing feedback on the new hotness.</p>

<p><strong>Here&#8217;s how you can help:</strong></p>

<ul>
<li>Head on over to GitHub and <a href="https://github.com/twitter/bootstrap/tree/2.0-wip">checkout the branch</a>, <code>2.0-wip</code>. It&#8217;s our essentially our master branch right now.</li>
<li>Don&#8217;t want to check out any code? We&#8217;re <a href="http://markdotto.com/bs2/docs/index.html">hosting the latest version of the docs</a> so you can easily load it up on devices and such for testing. (Please don&#8217;t host any other version of the docs for now!)</li>
<li>Load up the new docs in your favorite (or, ideally, your least favorite) browser or device and start testing.</li>
<li>When you find a bug or have feedback, <a href="https://github.com/twitter/bootstrap/issues?sort=created&amp;direction=desc&amp;state=open">open a new issue on GitHub</a>. Tag it as <strong>2.0-wip</strong> right away so we know to prioritize it. Please include as much context and information as possible. If it&#8217;s a visual bug, please include a screenshot. If it pertains to javascript, consider including a <a href="http://jsfiddle.net/">jsfiddle</a>.</li>
<li>If it&#8217;s a code fix you can make yourself, go ahead and submit a pull request to <code>2.0-wip</code>. Be sure to read the <a href="https://github.com/twitter/bootstrap/wiki/Contributing-to-Bootstrap">Contributing to Bootstrap</a> wiki page first though for a bit of insight into our code practices. (Unsure how to submit a pull request? <a href="http://help.github.com/send-pull-requests/">Learn more here</a>.)</li>
</ul>

<p>We&#8217;re super close to getting Bootstrap 2 out, but we need your help to make it the best it can be. Any help you can spare would be fantastic and much appreciated.</p>

<p>Thanks in advance, and see you next Tuesday with the finished release!</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/m29g41PbViY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2012/01/24/bootstrap-2-ready-for-testing-and-feedback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2012/01/24/bootstrap-2-ready-for-testing-and-feedback/</feedburner:origLink></item>
		<item>
		<title>Bootstrap in A List Apart #342</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/nfYFvJLG31A/</link>
		<comments>http://www.markdotto.com/2012/01/17/bootstrap-in-a-list-apart-342/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 17:55:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=945</guid>
		<description><![CDATA[Tweet Not too long ago I was asked by the A List Apart crew to contribute an article on Bootstrap. After some delays due to the Twitter redesign, the holidays, and some run-ins with the flu, I&#8217;m very happy to announce that the article has been published in today&#8217;s new edition. The article, Building Twitter [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2012%2F01%2F17%2Fbootstrap-in-a-list-apart-342%2F&amp;text=Bootstrap%20in%20A%20List%20Apart%20%23342%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2012%2F01%2F17%2Fbootstrap-in-a-list-apart-342%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://www.alistapart.com/articles/building-twitter-bootstrap/" title="Bootstrap in A List Apart" target="_blank"><img src="http://www.markdotto.com/wp-content/uploads/2012/01/bootstrap-ala.png" alt="Bootstrap in A List Apart"></a></p>

<p>Not too long ago I was asked by the A List Apart crew to contribute an article on <a href="https://twitter.github.com/bootstrap">Bootstrap</a>. After some delays due to the Twitter redesign, the holidays, and some run-ins with the flu, I&#8217;m very happy to announce that the article has been published in <a href="http://www.alistapart.com/issues/342">today&#8217;s new edition</a>.</p>

<p>The article, <a href="http://www.alistapart.com/articles/building-twitter-bootstrap/">Building Twitter Bootstrap</a>, focuses on the decisions and processes that went into creating Bootstrap. In short, a super small group of developers and I got together to design and build a new internal tool and saw an opportunity to do something more. Through that process, we saw ourselves build something much more substantial than another internal tool. Months later, we ended up with an early version of Bootstrap as a way to document and share common design patterns and assets within the company.</p>

<p>After a year of working on it on nights and weekends, we <a href="https://github.com/twitter/bootstrap/">open-sourced Bootstrap</a> in late August 2010. It&#8217;s since become the most popular project on GitHub with over 14,000 watchers and 2,400 forks. There&#8217;s a lot more in store for Bootstrap, including v2 launching in the coming weeks, and I couldn&#8217;t be more excited about the coming months at Twitter.</p>

<p>Also, a special thanks to <a href="http://aworkinglibrary.com/">Mandy Brown</a> and <a href="http://kristastevens.com/">Krista Stevens</a> as editors for the article. Without Mandy&#8217;s incredible ideas and insightfulness, and Krista&#8217;s editing and article preparation, the article wouldn&#8217;t have happened. It&#8217;s been a pleasure working with both and I hope to do so again in the future.</p>

<p>Head on over to A List Apart and <a href="http://www.alistapart.com/articles/building-twitter-bootstrap/">give it a read</a>.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/nfYFvJLG31A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2012/01/17/bootstrap-in-a-list-apart-342/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2012/01/17/bootstrap-in-a-list-apart-342/</feedburner:origLink></item>
		<item>
		<title>New grid system coming to Bootstrap 2</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/Nm4ZZLDxpYg/</link>
		<comments>http://www.markdotto.com/2011/12/16/new-grid-system-coming-to-bootstrap-2/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 14:00:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Bootstrap]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=936</guid>
		<description><![CDATA[TweetBootstrap 2 brings new responsive features and a large part of that is the grid system at its core. With BS2, we&#8217;ll be leaving behind our 16-column overlords and moving to a flexible 12-column grid system. Nothing substantial should change in your use of Bootstrap, but I wanted to share some thoughts about this new [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2011%2F12%2F16%2Fnew-grid-system-coming-to-bootstrap-2%2F&amp;text=New%20grid%20system%20coming%20to%20Bootstrap%202%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2011%2F12%2F16%2Fnew-grid-system-coming-to-bootstrap-2%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>Bootstrap 2 brings <a href="http://www.markdotto.com/2011/10/21/making-bootstrap-responsive/">new responsive features</a> and a large part of that is the grid system at its core. With BS2, we&#8217;ll be leaving behind our 16-column overlords and <strong>moving to a flexible 12-column grid system</strong>. Nothing substantial should change in your use of Bootstrap, but I wanted to share some thoughts about this new (to Bootstrap) approach.</p>

<p>To date, mobile and tablet devices were all virtually ignored. No more&#8211;Bootstrap 2 will provide support for mobile devices out of the gate. Responsive features will be available and should provide at least some level of support for all our major components.</p>

<p>By leaving the 16-column grid system behind, we save some headaches and streamline some code. 16-columns required extra CSS for a 3-column layout and we were including an extra 8 columns for those wishing to add 24-column support. No more. We&#8217;ve removed the extra CSS and gone to 12-columns, all while retaining the same overall default site width (940px) and adding responsive variations.</p>

<p>Not much changes for those using Bootstrap when we release 2.0. We&#8217;ve been using this grid in the our development of 2.0 for several weeks now and are quite fond of it. Just be sure to check your column sizes and test your projects on mobile and tablet devices when you upgrade.</p>

<hr />

<p>Follow along with Bootstrap 2&#8242;s development on GitHub with the <a href="https://github.com/twitter/bootstrap/tree/2.0-wip">2.0-wip</a> branch.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/Nm4ZZLDxpYg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2011/12/16/new-grid-system-coming-to-bootstrap-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2011/12/16/new-grid-system-coming-to-bootstrap-2/</feedburner:origLink></item>
		<item>
		<title>CSS commenting strategy</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/p9IyvvUaLkM/</link>
		<comments>http://www.markdotto.com/2011/12/12/css-commenting-strategy/#comments</comments>
		<pubDate>Mon, 12 Dec 2011 14:00:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=933</guid>
		<description><![CDATA[TweetAfter a few recent projects, I&#8217;ve realized a good commenting strategy is necessary in CSS (and any other language really). After running into problems of our own with mysterious or vague code, I figure I&#8217;ll share my general set of quick and flexible guidelines for commenting in CSS. Here&#8217;s what my typical (non-LESS) CSS file [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2011%2F12%2F12%2Fcss-commenting-strategy%2F&amp;text=CSS%20commenting%20strategy%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2011%2F12%2F12%2Fcss-commenting-strategy%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>After a few recent projects, I&#8217;ve realized a good commenting strategy is necessary in CSS (and any other language really). After running into problems of our own with mysterious or vague code, I figure I&#8217;ll share my general set of quick and flexible guidelines for commenting in CSS.</p>

<p>Here&#8217;s what my typical (non-LESS) CSS file looks like:</p>

<script src="https://gist.github.com/1437207.js?file=General%20CSS%20formatting"></script>

<p>To start, each file should include a repeated name and short description. While the name here can be the same as the filename (as I&#8217;ve indicated), combined with the description, it can help you add clarity for other designers. For instance, if you compile multiple CSS files, these comments can guide you in reading the final file.</p>

<p>Moving along, every major component is broken down into its own section. Not shown above is that each section has two to three lines after it to space things out. Subsections of that component have their own sub headings as well to further break things apart for readability and documentation.</p>

<p>Really though, the last two types of comments are the most important to me. The others are honestly more of a formality and sanity check as searching is just as fast in most cases. These last two are what keep you and your coworkers happy. Take this example of a typical comment and snippet of CSS:</p>

<script src="https://gist.github.com/1437229.js?file=Generic%20CSS%20comment"></script>

<p>The comment adds no value to anyone because it doesn&#8217;t tell you <em>why</em> this code is there in the first place. Here&#8217;s what might work a bit better:</p>

<script src="https://gist.github.com/1437233.js?file=Better%20CSS%20comment"></script>

<p>While not the greatest example in the world, it illustrates the point. The last type of commenting, inline notes, works well with this as it provides line-by-line justification for properties. Even though some folks might know <code>\9</code> is an Internet Explorer hack, not everyone does and comments don&#8217;t hurt anyone.</p>

<p>CSS, and any code for that matter, is much more legible and maintainable with the right comments. The why&#8217;s and inline context matter most for justifying why blocks of code appear in your files in the first place. Most importantly, commenting makes or breaks a team&#8217;s ability to quickly execute and update projects. Figure out your own solution, carry it through, and watch your projects become easier to maintain.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/p9IyvvUaLkM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2011/12/12/css-commenting-strategy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2011/12/12/css-commenting-strategy/</feedburner:origLink></item>
		<item>
		<title>Formatting vendor-prefixed CSS</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/mQFRij_5FsE/</link>
		<comments>http://www.markdotto.com/2011/12/06/formatting-vendor-prefixed-css/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 14:00:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=930</guid>
		<description><![CDATA[TweetI&#8217;m a sucker for CSS conventions. Beyond CSS property order, general code formatting, spacing, and commenting are all up for some discipline. To keep things nice and tidy, and to save time in the future, I do my best to streamline my code. Figuring out the right formatting for CSS properties, especially properties like border-radius [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2011%2F12%2F06%2Fformatting-vendor-prefixed-css%2F&amp;text=Formatting%20vendor-prefixed%20CSS%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2011%2F12%2F06%2Fformatting-vendor-prefixed-css%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>I&#8217;m a sucker for CSS conventions. Beyond CSS property order, general code formatting, spacing, and commenting are all up for some discipline. To keep things nice and tidy, and to save time in the future, I do my best to streamline my code. Figuring out the right formatting for CSS properties, especially properties like <code>border-radius</code> and <code>box-shadow</code>, is near the top of my list.</p>

<p>Take for instance this block of CSS:</p>

<script src="https://gist.github.com/1436739.js?file=Unformatted%20vender-prefixed%20CSS"></script>

<p>Straightforward enough. We have our vendor prefixes first, ordered by character length (a complex of mine I&#8217;m afraid), and ending with the official spec for that property. Great, but we can do better!</p>

<script src="https://gist.github.com/1436745.js?file=Formatted%20vender-prefixed%20CSS"></script>

<p>Ah, much better! Why? Well, if you&#8217;re a fan of code editors like Textmate, Coda, or Sublime Text 2, then you can easily edit multiple lines at a time. In Sublime Text 2&mdash;my editor of choice&mdash;I just have to hold Option while clicking and dragging to select multiple lines to edit.</p>

<p>With the values lined up, I can not only read my code faster and easier, but I can edit it faster and easier as well. A little bit of guidance on code formatting goes a long way for your own sanity, and those of your peers.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/mQFRij_5FsE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2011/12/06/formatting-vendor-prefixed-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2011/12/06/formatting-vendor-prefixed-css/</feedburner:origLink></item>
		<item>
		<title>CSS property order</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/BqVu5f1QHRQ/</link>
		<comments>http://www.markdotto.com/2011/11/29/css-property-order/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 14:00:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=922</guid>
		<description><![CDATA[TweetCSS property order matters, especially on larger teams with several engineers and designers all contributing code. I know it&#8217;s been discussed, but frankly there&#8217;s always room for improvement and alternate approaches. In a few projects at Twitter, we added the constraint of consistent CSS property order to make onboarding new folks easier, debugging faster, and [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2011%2F11%2F29%2Fcss-property-order%2F&amp;text=CSS%20property%20order%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2011%2F11%2F29%2Fcss-property-order%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p>CSS property order matters, especially on larger teams with several engineers and designers all contributing code. I know it&#8217;s been discussed, but frankly there&#8217;s always room for improvement and alternate approaches. In a few projects at Twitter, we added the constraint of consistent CSS property order to make onboarding new folks easier, debugging faster, and expectations of what exactly a block of CSS does <em>that</em> much clearer (without viewing it in the browser).</p>

<h2>High level overview</h2>

<p>At a high level, here&#8217;s our breakdown:</p>

<ul>
<li><code>position</code></li>
<li><code>display</code> and box model</li>
<li><code>font</code>, leading, <code>color</code>, text</li>
<li><code>background</code> and <code>border</code></li>
<li>CSS3 properties like <code>border-radius</code> and <code>box-shadow</code></li>
<li>and a handful of other purely visual properties</li>
</ul>

<p>We hadn&#8217;t really seen an approach like this in any other projects we&#8217;ve worked on. It mixes the common structural and alphabetical approaches into one in an effort to ensure our property order is logical, scannable, and all-encompassing. We wanted an order that mapped to how we mentally visualized DOM elements and&mdash;to an extent&mdash;how Webkit&#8217;s Inspector presents properties.</p>

<h2>Show me!</h2>

<p>Getting more specific, here are some blocks of CSS might look with this property order in mind.</p>

<script src="https://gist.github.com/1371848.js"> </script>

<p>Here you can see positioning, box model (<code>height</code> and <code>padding</code>), and visual (<code>background-color</code>, <code>border-bottom</code> and <code>box-shadow</code>) in their proper order. This flows in such a way that you can discern that this is a fixed dark gray bar with a drop shadow&#8211;you know exactly what it is you&#8217;re dealing with as you read line-by-line.</p>

<script src="https://gist.github.com/1371874.js"> </script>

<p>In this example, we have only box model and visual. Notice that for box model, we have dimensions first with <code>min-height</code> and <code>padding</code> (as that adds to the overall width of an element). For the visual elements, <code>background-color</code> and <code>border</code> come first because those inform you how this element starts to look (e.g., a gray box witha  border). <code>border-radius</code> and <code>box-shadow</code> follow that because those are additional visual treatments that add to the base look and feel.</p>

<h2>Use what works for your team</h2>

<p>This approach seems to work well for us and our teams without adding too much overhead. All you need to do is create a series of rules and stick to them with your team and this because a very successful tactic for organizing and maintaining CSS. No one solution is <em>teh best</em>, so keep that in mind and adjust as you go.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/BqVu5f1QHRQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2011/11/29/css-property-order/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2011/11/29/css-property-order/</feedburner:origLink></item>
		<item>
		<title>Introducing (Unofficial) GitHub Buttons</title>
		<link>http://feedproxy.google.com/~r/mdo/~3/BaMXPOTC_ok/</link>
		<comments>http://www.markdotto.com/2011/11/26/introducing-unofficial-github-buttons/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 03:24:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.markdotto.com/?p=909</guid>
		<description><![CDATA[Tweet Today I&#8217;m stoked to announce the release of my unofficial GitHub buttons! For months I&#8217;ve wanted to provide consistent, easy-to-use links back to my projects&#8217; source and documentation on GitHub. A couple of weeks ago I was finally able to create a decent method of doing just that. Now, I want to share them [...]]]></description>
			<content:encoded><![CDATA[<div class="tw_button" style=""><a href="http://twitter.com/share?url=http%3A%2F%2Fwww.markdotto.com%2F2011%2F11%2F26%2Fintroducing-unofficial-github-buttons%2F&amp;text=Introducing%20%28Unofficial%29%20GitHub%20Buttons%20by%20%40mdo&amp;related=&amp;lang=en&amp;count=horizontal&amp;counturl=http%3A%2F%2Fwww.markdotto.com%2F2011%2F11%2F26%2Fintroducing-unofficial-github-buttons%2F" class="twitter-share-button" target="_blank"  style="width:55px;height:22px;background:transparent url('http://www.markdotto.com/wp-content/plugins/wp-tweet-button/tweetn.png') no-repeat  0 0;text-align:left;text-indent:-9999px;display:block;">Tweet</a></div><p><a href="http://markdotto.github.com/github-buttons" title="GitHub Buttons" target="_blank"><img src="http://www.markdotto.com/wp-content/uploads/2011/11/introducing-github-buttons.png" alt="Introducing GitHub Buttons"></a></p>

<p>Today I&#8217;m stoked to announce the release of my <a href="http://markdotto.github.com/github-buttons">unofficial GitHub buttons</a>! For months I&#8217;ve wanted to provide consistent, easy-to-use links back to my projects&#8217; source and documentation on GitHub. A couple of weeks ago I was finally able to create a decent method of doing just that. Now, I want to share them with everyone and get feedback from the community.</p>

<h2>Functionality</h2>

<p>For their initial release (and due to lack of time and expertise), functionality is limited to a static link back to your repo and dynamic counts for the number of watchers and forks on any public repo. In the future I&#8217;d love to expand on this to support user profiles and&mdash;one day&mdash;dynamic buttons via oAuth.</p>

<h2>How to use</h2>

<p>Using these new buttons is as easy as adding an <code>iframe</code> and setting some paramaters in the URL. It&#8217;s fast, easy, and pretty lightweight. The best part is that these are hosted on GitHub pages, which means you don&#8217;t need to host the code yourself. Just add and go. It also comes with a few options: watch or fork button, count or no count, and default or large size.</p>

<div class="well" style="line-height: 1;">
<iframe src="http://markdotto.github.com/github-buttons/github-btn.html?user=markdotto&#038;repo=github-buttons&#038;type=watch&#038;count=true&#038;size=large" allowtransparency="true" frameborder="0" scrolling="0" width="170px" height="30px"></iframe>
</div>

<div class="well" style="line-height: 1;">
<iframe src="http://markdotto.github.com/github-buttons/github-btn.html?user=markdotto&#038;repo=github-buttons&#038;type=fork&#038;count=true&#038;size=large" allowtransparency="true" frameborder="0" scrolling="0" width="146px" height="30px"></iframe>
</div>

<p>The two buttons above are live examples of Bootstrap&#8217;s watcher and fork counts. Everything but the size of the <code>iframe</code> is configurable via URL parameters. (This was the easiest and fastest way for me to get this project out the door.)</p>

<h2>Get it on GitHub</h2>

<p>You can find <a href="https://github.com/markdotto/github-buttons">the source on GitHub</a>. Feel free to download, fork, or watch it from there. If you have any feedback or want to contribute to the project, go ahead and <a href="https://github.com/markdotto/github-buttons/issues">open an issue</a> or submit a pull request.</p>
<img src="http://feeds.feedburner.com/~r/mdo/~4/BaMXPOTC_ok" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.markdotto.com/2011/11/26/introducing-unofficial-github-buttons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.markdotto.com/2011/11/26/introducing-unofficial-github-buttons/</feedburner:origLink></item>
	</channel>
</rss>

