]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Unitless line-height
authorMark Otto <otto@github.com>
Fri, 10 May 2013 00:20:46 +0000 (17:20 -0700)
committerMark Otto <otto@github.com>
Fri, 10 May 2013 00:20:46 +0000 (17:20 -0700)
* Instead of 20px as @line-height-base, use 1.5
* Update typographic scale for headings to use unitless as well--required some twerking of decimals a bit and some rounding
* Introduce new @line-height-computed value, which takes base font-size and multiplies it by 1.5, for use in padding and margin on components

docs/assets/css/bootstrap.css
docs/assets/css/docs.css
less/alerts.less
less/forms.less
less/navbar.less
less/progress-bars.less
less/type.less
less/variables.less

index 5e6eab48da05cc3a5c5917a81abb742212793b43..49e6073cf2d65a8baf56960b3e870a5119df0571 100644 (file)
@@ -290,7 +290,7 @@ html {
 body {
   font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
   font-size: 14px;
-  line-height: 20px;
+  line-height: 1.5;
   color: #333333;
   background-color: #ffffff;
 }
@@ -336,11 +336,11 @@ img {
 }
 
 p {
-  margin: 0 0 10px;
+  margin: 0 0 10.5px;
 }
 
 .lead {
-  margin-bottom: 20px;
+  margin-bottom: 21px;
   font-size: 21px;
   font-weight: 200;
   line-height: 1.4;
@@ -424,7 +424,7 @@ h6,
 .h6 {
   font-family: inherit;
   font-weight: 500;
-  line-height: 20px;
+  line-height: 1.1;
 }
 
 h1 small,
@@ -447,40 +447,35 @@ h6 small,
 h1,
 h2,
 h3 {
-  margin-top: 20px;
-  margin-bottom: 10px;
-  line-height: 40px;
-}
-
-h3 {
-  line-height: 30px;
+  margin-top: 21px;
+  margin-bottom: 10.5px;
 }
 
 h4,
 h5,
 h6 {
-  margin-top: 10px;
-  margin-bottom: 10px;
+  margin-top: 10.5px;
+  margin-bottom: 10.5px;
 }
 
 h1,
 .h1 {
-  font-size: 38.5px;
+  font-size: 38px;
 }
 
 h2,
 .h2 {
-  font-size: 31.5px;
+  font-size: 32px;
 }
 
 h3,
 .h3 {
-  font-size: 24.5px;
+  font-size: 24px;
 }
 
 h4,
 .h4 {
-  font-size: 17.5px;
+  font-size: 18px;
 }
 
 h5,
@@ -490,39 +485,36 @@ h5,
 
 h6,
 .h6 {
-  font-size: 11.9px;
+  font-size: 12px;
 }
 
 h1 small,
 .h1 small {
-  font-size: 24.5px;
+  font-size: 24px;
 }
 
 h2 small,
 .h2 small {
-  font-size: 17.5px;
+  font-size: 18px;
 }
 
 h3 small,
-.h3 small {
-  font-size: 14px;
-}
-
+.h3 small,
 h4 small,
 .h4 small {
   font-size: 14px;
 }
 
 .page-header {
-  padding-bottom: 9px;
-  margin: 40px 0 20px;
+  padding-bottom: 9.5px;
+  margin: 42px 0 21px;
   border-bottom: 1px solid #eeeeee;
 }
 
 ul,
 ol {
   padding: 0;
-  margin: 0 0 10px 25px;
+  margin: 0 0 10.5px 25px;
 }
 
 ul ul,
@@ -533,7 +525,7 @@ ol ul {
 }
 
 li {
-  line-height: 20px;
+  line-height: 1.5;
 }
 
 .list-unstyled {
@@ -553,12 +545,12 @@ li {
 }
 
 dl {
-  margin-bottom: 20px;
+  margin-bottom: 21px;
 }
 
 dt,
 dd {
-  line-height: 20px;
+  line-height: 1.5;
 }
 
 dt {
@@ -566,7 +558,7 @@ dt {
 }
 
 dd {
-  margin-left: 10px;
+  margin-left: 10.5px;
 }
 
 .dl-horizontal:before,
@@ -604,7 +596,7 @@ dd {
 }
 
 hr {
-  margin: 20px 0;
+  margin: 21px 0;
   border: 0;
   border-top: 1px solid #eeeeee;
   border-bottom: 1px solid #fff;
@@ -623,8 +615,8 @@ abbr.initialism {
 }
 
 blockquote {
-  padding: 10px 20px;
-  margin: 0 0 20px;
+  padding: 10.5px 21px;
+  margin: 0 0 21px;
   border-left: 5px solid #eeeeee;
 }
 
@@ -640,7 +632,7 @@ blockquote p:last-child {
 
 blockquote small {
   display: block;
-  line-height: 20px;
+  line-height: 1.5;
   color: #999999;
 }
 
@@ -678,9 +670,9 @@ blockquote:after {
 
 address {
   display: block;
-  margin-bottom: 20px;
+  margin-bottom: 21px;
   font-style: normal;
-  line-height: 20px;
+  line-height: 1.5;
 }
 
 code,
@@ -702,10 +694,10 @@ code {
 
 pre {
   display: block;
-  padding: 9.5px;
-  margin: 0 0 10px;
+  padding: 0.25;
+  margin: 0 0 0.75;
   font-size: 13px;
-  line-height: 20px;
+  line-height: 1.5;
   word-break: break-all;
   word-wrap: break-word;
   white-space: pre;
@@ -717,7 +709,7 @@ pre {
 }
 
 pre.prettyprint {
-  margin-bottom: 20px;
+  margin-bottom: 1.5;
 }
 
 pre code {
@@ -1025,7 +1017,7 @@ th {
 
 .table {
   width: 100%;
-  margin-bottom: 20px;
+  margin-bottom: 1.5;
 }
 
 .table thead > tr > th,
@@ -1033,7 +1025,7 @@ th {
 .table thead > tr > td,
 .table tbody > tr > td {
   padding: 8px;
-  line-height: 20px;
+  line-height: 1.5;
   vertical-align: top;
   border-top: 1px solid #dddddd;
 }
@@ -1219,9 +1211,9 @@ legend {
   display: block;
   width: 100%;
   padding: 0;
-  margin-bottom: 20px;
+  margin-bottom: 21px;
   font-size: 21px;
-  line-height: 40px;
+  line-height: 1.1;
   color: #333333;
   border: 0;
   border-bottom: 1px solid #e5e5e5;
@@ -1250,10 +1242,10 @@ input[type="search"],
 input[type="tel"],
 input[type="color"] {
   display: block;
-  min-height: 34px;
+  min-height: 35px;
   padding: 6px 9px;
   font-size: 14px;
-  line-height: 20px;
+  line-height: 1.5;
   color: #555555;
   vertical-align: middle;
   background-color: #ffffff;
@@ -1328,10 +1320,10 @@ input[type="checkbox"] {
 
 select,
 input[type="file"] {
-  height: 34px;
+  height: 35px;
   /* In IE7, the height of the select element cannot be changed by height, only font-size. TODO: Check if this is still needed when dropping IE7 support */
 
-  line-height: 34px;
+  line-height: 35px;
 }
 
 select[multiple],
@@ -1371,7 +1363,7 @@ textarea::-webkit-input-placeholder {
 .radio,
 .checkbox {
   display: block;
-  min-height: 20px;
+  min-height: 21px;
   padding-left: 20px;
   margin-top: 10px;
   margin-bottom: 10px;
@@ -1460,7 +1452,7 @@ input[type="url"].input-small,
 input[type="search"].input-small,
 input[type="tel"].input-small,
 input[type="color"].input-small {
-  min-height: 26px;
+  min-height: 27px;
   padding: 2px 10px;
   font-size: 11.9px;
   border-radius: 3px;
@@ -1555,9 +1547,9 @@ select:focus:invalid:focus {
 }
 
 .form-actions {
-  padding: 19px 20px 20px;
-  margin-top: 20px;
-  margin-bottom: 20px;
+  padding: 21px 20px;
+  margin-top: 21px;
+  margin-bottom: 21px;
   background-color: #f5f5f5;
   border-top: 1px solid #e5e5e5;
 }
@@ -1636,7 +1628,7 @@ select:focus:invalid:focus {
   padding: 6px 8px;
   font-size: 14px;
   font-weight: normal;
-  line-height: 20px;
+  line-height: 1.5;
   text-align: center;
   text-shadow: 0 1px 0 #fff;
   background-color: #eeeeee;
@@ -1785,7 +1777,7 @@ select:focus:invalid:focus {
   margin-bottom: 0;
   font-size: 14px;
   font-weight: 500;
-  line-height: 20px;
+  line-height: 1.5;
   text-align: center;
   white-space: nowrap;
   vertical-align: middle;
@@ -2823,7 +2815,7 @@ input[type="button"].btn-block {
 
 .dropdown-menu .divider {
   height: 2px;
-  margin: 9px 0;
+  margin: -0.25 0;
   overflow: hidden;
   background-color: #e5e5e5;
   border-bottom: 1px solid #ffffff;
@@ -2834,7 +2826,7 @@ input[type="button"].btn-block {
   padding: 3px 20px;
   clear: both;
   font-weight: normal;
-  line-height: 20px;
+  line-height: 1.5;
   color: #333333;
   white-space: nowrap;
 }
@@ -3252,7 +3244,7 @@ button.close {
 
 .nav .nav-divider {
   height: 2px;
-  margin: 9px 0;
+  margin: -0.25 0;
   overflow: hidden;
   background-color: #e5e5e5;
   border-bottom: 1px solid #ffffff;
@@ -3269,7 +3261,7 @@ button.close {
 
 .nav-tabs > li > a {
   margin-right: 2px;
-  line-height: 20px;
+  line-height: 1.5;
   border: 1px solid transparent;
   border-radius: 4px 4px 0 0;
 }
@@ -3359,7 +3351,7 @@ button.close {
   padding: 3px 15px;
   font-size: 10.5px;
   font-weight: bold;
-  line-height: 20px;
+  line-height: 1.5;
   color: #999999;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
   text-transform: uppercase;
@@ -3498,8 +3490,8 @@ button.close {
 }
 
 .navbar-nav > li > a {
-  padding-top: 15px;
-  padding-bottom: 15px;
+  padding-top: 14.5px;
+  padding-bottom: 14.5px;
   line-height: 20px;
   color: #777777;
 }
@@ -3554,7 +3546,7 @@ button.close {
   margin-left: auto;
   font-size: 17.5px;
   font-weight: 500;
-  line-height: 20px;
+  line-height: 21px;
   color: #777777;
   text-align: center;
 }
@@ -3762,7 +3754,12 @@ button.close {
 }
 
 .navbar-btn {
-  margin-top: 8px;
+  margin-top: 7.5px;
+}
+
+.navbar-text {
+  margin-top: 14.5px;
+  margin-bottom: 14.5px;
 }
 
 .navbar-link {
@@ -3973,7 +3970,7 @@ button.close {
 
 .breadcrumb {
   padding: 8px 15px;
-  margin: 0 0 20px;
+  margin: 0 0 1.5;
   list-style: none;
   background-color: #f5f5f5;
   border-radius: 4px;
@@ -4001,7 +3998,7 @@ button.close {
 
 .pagination {
   display: inline-block;
-  margin: 20px 0;
+  margin: 1.5 0;
   border-radius: 4px;
 }
 
@@ -4013,7 +4010,7 @@ button.close {
 .pagination > li > span {
   float: left;
   padding: 4px 12px;
-  line-height: 20px;
+  line-height: 1.5;
   text-decoration: none;
   background-color: #ffffff;
   border: 1px solid #dddddd;
@@ -4102,7 +4099,7 @@ button.close {
 }
 
 .pager {
-  margin: 20px 0;
+  margin: 1.5 0;
   text-align: center;
   list-style: none;
 }
@@ -4239,7 +4236,7 @@ button.close {
 }
 
 .modal-header {
-  min-height: 35px;
+  min-height: 16.5px;
   padding: 15px;
   border-bottom: 1px solid #e5e5e5;
 }
@@ -4250,7 +4247,7 @@ button.close {
 
 .modal-title {
   margin: 0;
-  line-height: 20px;
+  line-height: 1.5;
 }
 
 .modal-body {
@@ -4539,8 +4536,8 @@ button.close {
 }
 
 .alert {
-  padding: 8px 35px 8px 14px;
-  margin-bottom: 20px;
+  padding: 10px 35px 10px 15px;
+  margin-bottom: 21px;
   color: #c09853;
   background-color: #fcf8e3;
   border: 1px solid #fbeed5;
@@ -4615,8 +4612,8 @@ button.close {
 }
 
 .alert-block {
-  padding-top: 14px;
-  padding-bottom: 14px;
+  padding-top: 15px;
+  padding-bottom: 15px;
 }
 
 .alert-block > p,
@@ -4631,7 +4628,7 @@ button.close {
 .thumbnail,
 .img-thumbnail {
   padding: 4px;
-  line-height: 20px;
+  line-height: 1.5;
   background-color: #ffffff;
   border: 1px solid #dddddd;
   border-radius: 4px;
@@ -4851,8 +4848,8 @@ a.list-group-item.active > .badge,
 }
 
 .progress {
-  height: 20px;
-  margin-bottom: 20px;
+  height: 21px;
+  margin-bottom: 21px;
   overflow: hidden;
   background-color: #f5f5f5;
   border-radius: 4px;
@@ -4946,7 +4943,7 @@ a.list-group-item.active > .badge,
 }
 
 .accordion {
-  margin-bottom: 20px;
+  margin-bottom: 1.5;
 }
 
 .accordion-group {
@@ -5158,7 +5155,7 @@ a.list-group-item.active > .badge,
   margin-bottom: 30px;
   font-size: 21px;
   font-weight: 200;
-  line-height: 30px;
+  line-height: 2.25;
   color: inherit;
   background-color: #eeeeee;
 }
index fcbf723ebe21a7c05a2d3b6ef0aa09abb2e50e7c..bfbb60d48dee0b1566a305c94259c5e903aae729 100644 (file)
@@ -599,6 +599,7 @@ input.focused {
 }
 .highlight pre {
   padding: 0;
+  margin-top: 0;
   margin-bottom: 0;
   background-color: transparent;
   border: 0;
index 882b25bef9bfef7e8026c98313bece3c963a40a2..bb78462493199ced27c299cd4ea2f73e9a2d5002 100644 (file)
@@ -7,8 +7,8 @@
 // -------------------------
 
 .alert {
-  padding: 8px 35px 8px 14px;
-  margin-bottom: @line-height-base;
+  padding: 10px 35px 10px 15px;
+  margin-bottom: @line-height-computed;
   color: @alert-text;
   background-color: @alert-bg;
   border: 1px solid @alert-border;
@@ -84,8 +84,8 @@
 // -------------------------
 
 .alert-block {
-  padding-top: 14px;
-  padding-bottom: 14px;
+  padding-top: 15px;
+  padding-bottom: 15px;
 }
 .alert-block > p,
 .alert-block > ul {
index 6b3bff728089cb34bde14d41c477ea5ceffeacad..4a99a7793719c218a192e644d920675c342cc900 100644 (file)
@@ -20,9 +20,9 @@ legend {
   display: block;
   width: 100%;
   padding: 0;
-  margin-bottom: @line-height-base;
+  margin-bottom: @line-height-computed;
   font-size: (@font-size-base * 1.5);
-  line-height: (@line-height-base * 2);
+  line-height: @line-height-headings;
   color: @gray-dark;
   border: 0;
   border-bottom: 1px solid #e5e5e5;
@@ -170,7 +170,7 @@ textarea {
 .radio,
 .checkbox {
   display: block;
-  min-height: @line-height-base; // clear the floating input if there is no label text
+  min-height: @line-height-computed; // clear the floating input if there is no label text
   margin-top: 10px;
   margin-bottom: 10px;
   padding-left: 20px;
@@ -320,9 +320,9 @@ select:focus:invalid {
 // ------------
 
 .form-actions {
-  padding: (@line-height-base - 1) 20px @line-height-base;
-  margin-top: @line-height-base;
-  margin-bottom: @line-height-base;
+  padding: @line-height-computed 20px;
+  margin-top: @line-height-computed;
+  margin-bottom: @line-height-computed;
   background-color: @form-actions-bg;
   border-top: 1px solid #e5e5e5;
   .clearfix(); // Adding clearfix to allow for .pull-right button containers
index 7a02a491b7238e33757f01b679154cc26263b2da..975f2ebb2146abfd8f20378719ee1e4fefb1b46f 100644 (file)
@@ -24,8 +24,8 @@
   margin-top: 10px;
 
   > li > a {
-    padding-top: ((@navbar-height - @line-height-base) / 2);
-    padding-bottom: ((@navbar-height - @line-height-base) / 2);
+    padding-top: ((@navbar-height - @line-height-computed) / 2);
+    padding-bottom: ((@navbar-height - @line-height-computed) / 2);
     color: @navbar-link-color;
     line-height: 20px;
   }
@@ -91,7 +91,7 @@
   padding: 15px;
   font-size: @font-size-large;
   font-weight: 500;
-  line-height: @line-height-base;
+  line-height: @line-height-computed;
   color: @navbar-brand-color;
   text-align: center;
   &:hover,
 // Add a class to make any element properly align itself vertically within the navbars.
 
 .navbar-text {
-
+  .navbar-vertical-align(@line-height-computed);
 }
 
 
index 9df0251e3716ba3c4cb842ab0db2acd3b63eed0a..e963fa9681fff6244020a508436e76c1526e320b 100644 (file)
@@ -44,8 +44,8 @@
 // Outer container
 .progress {
   overflow: hidden;
-  height: @line-height-base;
-  margin-bottom: @line-height-base;
+  height: @line-height-computed;
+  margin-bottom: @line-height-computed;
   background-color: @progress-bg;
   border-radius: @border-radius-base;
   .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));
index f6b5eecd58de792b675ca7eda9e8addfacaf2c64..e562bb2c2249f9ecb0fe1231fea8433106b40213 100644 (file)
@@ -7,10 +7,10 @@
 // -------------------------
 
 p {
-  margin: 0 0 (@line-height-base / 2);
+  margin: 0 0 (@line-height-computed / 2);
 }
 .lead {
-  margin-bottom: @line-height-base;
+  margin-bottom: @line-height-computed;
   font-size: (@font-size-base * 1.5);
   font-weight: 200;
   line-height: 1.4;
@@ -56,7 +56,7 @@ h1, h2, h3, h4, h5, h6,
 .h1, .h2, .h3, .h4, .h5, .h6 {
   font-family: @headings-font-family;
   font-weight: @headings-font-weight;
-  line-height: @line-height-base;
+  line-height: @line-height-headings;
   small {
     font-weight: normal;
     line-height: 1;
@@ -67,30 +67,26 @@ h1, h2, h3, h4, h5, h6,
 h1,
 h2,
 h3 {
-  margin-top: @line-height-base;
-  margin-bottom: (@line-height-base / 2);
-  line-height: (@line-height-base * 2);
-}
-h3 {
-  line-height: (@line-height-base * 1.5);
+  margin-top: @line-height-computed;
+  margin-bottom: (@line-height-computed / 2);
 }
 h4,
 h5,
 h6 {
-  margin-top: (@line-height-base / 2);
-  margin-bottom: (@line-height-base / 2);
+  margin-top: (@line-height-computed / 2);
+  margin-bottom: (@line-height-computed / 2);
 }
 
-h1, .h1 { font-size: (@font-size-base * 2.75); } // ~38px
-h2, .h2 { font-size: (@font-size-base * 2.25); } // ~32px
-h3, .h3 { font-size: (@font-size-base * 1.75); } // ~24px
-h4, .h4 { font-size: (@font-size-base * 1.25); } // ~18px
+h1, .h1 { font-size: ceil(@font-size-base * 2.70); } // ~38px
+h2, .h2 { font-size: ceil(@font-size-base * 2.25); } // ~32px
+h3, .h3 { font-size: ceil(@font-size-base * 1.70); } // ~24px
+h4, .h4 { font-size: ceil(@font-size-base * 1.25); } // ~18px
 h5, .h5 { font-size:  @font-size-base; }
-h6, .h6 { font-size: (@font-size-base * 0.85); } // ~12px
+h6, .h6 { font-size: ceil(@font-size-base * 0.85); } // ~12px
 
-h1 small, .h1 small { font-size: (@font-size-base * 1.75); } // ~24px
-h2 small, .h2 small { font-size: (@font-size-base * 1.25); } // ~18px
-h3 small, .h3 small { font-size: @font-size-base; }
+h1 small, .h1 small { font-size: ceil(@font-size-base * 1.70); } // ~24px
+h2 small, .h2 small { font-size: ceil(@font-size-base * 1.25); } // ~18px
+h3 small, .h3 small,
 h4 small, .h4 small { font-size: @font-size-base; }
 
 
@@ -98,8 +94,8 @@ h4 small, .h4 small { font-size: @font-size-base; }
 // -------------------------
 
 .page-header {
-  padding-bottom: ((@line-height-base / 2) - 1);
-  margin: (@line-height-base * 2) 0 @line-height-base;
+  padding-bottom: ((@line-height-computed / 2) - 1);
+  margin: (@line-height-computed * 2) 0 @line-height-computed;
   border-bottom: 1px solid @gray-lighter;
 }
 
@@ -112,7 +108,7 @@ h4 small, .h4 small { font-size: @font-size-base; }
 ul,
 ol {
   padding: 0;
-  margin: 0 0 (@line-height-base / 2) 25px;
+  margin: 0 0 (@line-height-computed / 2) 25px;
 }
 ul ul,
 ul ol,
@@ -143,7 +139,7 @@ li {
 
 // Description Lists
 dl {
-  margin-bottom: @line-height-base;
+  margin-bottom: @line-height-computed;
 }
 dt,
 dd {
@@ -153,7 +149,7 @@ dt {
   font-weight: bold;
 }
 dd {
-  margin-left: (@line-height-base / 2);
+  margin-left: (@line-height-computed / 2);
 }
 // Horizontal layout (like forms)
 .dl-horizontal {
@@ -175,7 +171,7 @@ dd {
 
 // Horizontal rules
 hr {
-  margin: @line-height-base 0;
+  margin: @line-height-computed 0;
   border: 0;
   border-top: 1px solid @hr-border;
   border-bottom: 1px solid #fff;
@@ -196,8 +192,8 @@ abbr.initialism {
 
 // Blockquotes
 blockquote {
-  padding: (@line-height-base/2) @line-height-base;
-  margin: 0 0 @line-height-base;
+  padding: (@line-height-computed / 2) @line-height-computed;
+  margin: 0 0 @line-height-computed;
   border-left: 5px solid @gray-lighter;
   p {
     font-size: (@font-size-base * 1.25);
@@ -249,7 +245,7 @@ blockquote:after {
 // Addresses
 address {
   display: block;
-  margin-bottom: @line-height-base;
+  margin-bottom: @line-height-computed;
   font-style: normal;
   line-height: @line-height-base;
 }
index fd69c243865cffe8e86399ab8e00814a9824911c..c8ddb0c9eef643ac4e6d2381c25a6a8f25118837 100644 (file)
@@ -50,7 +50,9 @@
 @font-size-small:         (@font-size-base * 0.85); // ~12px
 @font-size-mini:          (@font-size-base * 0.75); // ~11px
 
-@line-height-base:        20px;
+@line-height-base:        1.5;
+@line-height-computed:    (@font-size-base * @line-height-base);
+@line-height-headings:    1.1;
 
 @headings-font-family:    inherit; // empty to use BS default, @font-family-base
 @headings-font-weight:    500;
 
 @input-color-placeholder:        @gray-light;
 
-@input-height-base:              (@line-height-base + 14px); // base line-height + 12px vertical padding + 2px top/bottom border
-@input-height-large:             (@line-height-base + 24px); // base line-height + 22px vertical padding + 2px top/bottom border
-@input-height-small:             (@line-height-base + 6px);  // base line-height + 4px vertical padding + 2px top/bottom border
+@input-height-base:              (@line-height-computed + 14px); // base line-height + 12px vertical padding + 2px top/bottom border
+@input-height-large:             (@line-height-computed + 24px); // base line-height + 22px vertical padding + 2px top/bottom border
+@input-height-small:             (@line-height-computed + 6px);  // base line-height + 4px vertical padding + 2px top/bottom border
 
 @form-actions-bg:                 #f5f5f5;