{"id":1088,"date":"2013-06-03T23:23:23","date_gmt":"2013-06-03T22:23:23","guid":{"rendered":"http:\/\/www.nathankowald.com\/blog\/?p=1088"},"modified":"2016-11-13T16:49:27","modified_gmt":"2016-11-13T16:49:27","slug":"bookmarklet-show-twitter-bootstap-columns","status":"publish","type":"post","link":"https:\/\/www.nathankowald.com\/blog\/2013\/06\/bookmarklet-show-twitter-bootstap-columns\/","title":{"rendered":"Bookmarklet: show Twitter Bootstrap columns"},"content":{"rendered":"<p>We use <a title=\"Twitter Bootstrap\" href=\"http:\/\/twitter.github.io\/bootstrap\/\">Twitter Bootstrap<\/a>\u00a0in a few websites at work.<\/p>\n<p>Today, while writing documentation I wanted a visual way to show Twitter Bootstrap&#8217;s 12-column grid system. In a 12-column grid, each row must contain one or more columns, these must add up to 12.<\/p>\n<p>For a simple two column layout, create a\u00a0<strong>.row<\/strong>\u00a0and add the appropriate number of\u00a0<strong>.span*<\/strong>\u00a0columns.<br \/>\nFor a 12-column grid, each <strong>.span*<\/strong>\u00a0spans a number of those 12 columns, and should always add up to 12 for each row (or the number of columns in the parent).<\/p>\n<pre class=\"prettyprint lang-html\">\r\n&lt;div class=\"row\"&gt;\r\n    &lt;div class=\"span4\"&gt;...&lt;\/div&gt;\r\n    &lt;div class=\"span8\"&gt;...&lt;\/div&gt;\r\n&lt;\/div&gt;<\/pre>\n<p>The following image shows a 12-column grid system.<\/p>\n<p><a href=\"http:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/12-columns.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1114\" alt=\"12-columns\" src=\"http:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/12-columns.png\" width=\"618\" height=\"207\" srcset=\"https:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/12-columns.png 883w, https:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/12-columns-300x100.png 300w\" sizes=\"auto, (max-width: 618px) 100vw, 618px\" \/><\/a><\/p>\n<p>I created this bookmarklet to detect all <strong>span*<\/strong> classes (span4, span8 etc.) on a page.<br \/>\nThe bookmarklet detects these <strong>span*<\/strong> bootstrap columns, applies a background colour to them, then inserts the size of the column into the element.<br \/>\nIt allows you to see how a 12 or 24-column layout works, and also helps you detect incorrect styling \u2013 this helped me detect a few mistakes in the following screenshot.<\/p>\n<p><a href=\"http:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/24-column-twitter-bootstrap-layout.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-1127\" alt=\"24-column Twitter Bootstrap Layout\" src=\"http:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/24-column-twitter-bootstrap-layout-752x1024.png\" width=\"602\" height=\"819\" srcset=\"https:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/24-column-twitter-bootstrap-layout-752x1024.png 752w, https:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/24-column-twitter-bootstrap-layout-220x300.png 220w, https:\/\/www.nathankowald.com\/blog\/wp-content\/uploads\/2013\/06\/24-column-twitter-bootstrap-layout.png 1113w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><br \/>\n<em>We use a custom 24-column layout on this website<\/em><\/p>\n<p>Add the bookmarklet by visiting this jsFiddle page. Drag the green link to your bookmarks bar:<br \/>\n<a style=\"font-size: 2em; font-weight: normal; display: block; margin-top: 8px;\" href=\"http:\/\/jsfiddle.net\/F9Whr\/\">http:\/\/jsfiddle.net\/F9Whr\/<\/a><\/p>\n<p>Here&#8217;s the JavaScript:<\/p>\n<pre class=\"prettyprint lang-javascript\">\r\njavascript:var colors = {\r\n1:'#F7977A',\r\n2:'#FDC68A',\r\n3:'#FFF79A',\r\n4:'#A2D39C',\r\n5:'#7BCDC8',\r\n6:'#7EA7D8',\r\n7:'#8882BE',\r\n8:'#B4A798',\r\n9:'#F6989D',\r\n10:'#C7B299',\r\n11:'#736357',\r\n12:'#A67C52',\r\n13:'#754C24',\r\n14:'#59955C',\r\n15:'#75B4FF',\r\n16:'#2F74D0',\r\n17:'#8CD1E6',\r\n18:'#C79BF2',\r\n19:'#FFA4FF',\r\n20:'#336666',\r\n21:'#333366',\r\n22:'#336666',\r\n23:'#528413',\r\n24:'#999999'\r\n};\r\nvar items = document.querySelectorAll(\"[class^='span']\");\r\nfor (var i = items.length; i--;) {\r\n    var match = items[i].className.match(\/.*(span\\d+)+\/g);\r\n    if (!match) continue;\r\n    var num = match[0].replace('span', '');\r\n    items[i].style.backgroundColor = (colors[num]) ? colors[num] : 'red';\r\n    items[i].innerHTML = '<span style=\"color: #fff; text-shadow: 1px 1px 2px rgba(0,0,0,0.7); font-size: 14px;\">\u00a0span' + num + '<\/span>' + items[i].innerHTML;\r\n}\r\nvoid(0);<\/pre>\n<p>I&#8217;ve committed this to my <a href=\"https:\/\/github.com\/n8kowald\/bookmarklets\/blob\/master\/show-twitter-bootstrap-columns.js\">bookmarklets repository<\/a> on GitHub if you want to add to it or improve the code in any way.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We use Twitter Bootstrap\u00a0in a few websites at work. Today, while writing documentation I wanted a visual way to show Twitter Bootstrap&#8217;s 12-column grid system. In a 12-column grid, each row must contain one or more columns, these must add up to 12. For a simple two column layout, create a\u00a0.row\u00a0and add the appropriate number [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[21,7],"tags":[],"class_list":["post-1088","post","type-post","status-publish","format-standard","hentry","category-bookmarklets","category-web-development"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/posts\/1088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/comments?post=1088"}],"version-history":[{"count":29,"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/posts\/1088\/revisions"}],"predecessor-version":[{"id":1765,"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/posts\/1088\/revisions\/1765"}],"wp:attachment":[{"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/media?parent=1088"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/categories?post=1088"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nathankowald.com\/blog\/wp-json\/wp\/v2\/tags?post=1088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}