[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 // 2 // Mixins 3 // -------------------------------------------------- 4 5 6 // UTILITY MIXINS 7 // -------------------------------------------------- 8 9 // Clearfix 10 // -------- 11 // For clearing floats like a boss h5bp.com/q 12 .clearfix { 13 *zoom: 1; 14 &:before, 15 &:after { 16 display: table; 17 content: ""; 18 // Fixes Opera/contenteditable bug: 19 // http://nicolasgallagher.com/micro-clearfix-hack/#comment-36952 20 line-height: 0; 21 } 22 &:after { 23 clear: both; 24 } 25 } 26 27 // Webkit-style focus 28 // ------------------ 29 .tab-focus() { 30 // Default 31 outline: thin dotted #333; 32 // Webkit 33 outline: 5px auto -webkit-focus-ring-color; 34 outline-offset: -2px; 35 } 36 37 // Center-align a block level element 38 // ---------------------------------- 39 .center-block() { 40 display: block; 41 margin-left: auto; 42 margin-right: auto; 43 } 44 45 // IE7 inline-block 46 // ---------------- 47 .ie7-inline-block() { 48 *display: inline; /* IE7 inline-block hack */ 49 *zoom: 1; 50 } 51 52 // IE7 likes to collapse whitespace on either side of the inline-block elements. 53 // Ems because we're attempting to match the width of a space character. Left 54 // version is for form buttons, which typically come after other elements, and 55 // right version is for icons, which come before. Applying both is ok, but it will 56 // mean that space between those elements will be .6em (~2 space characters) in IE7, 57 // instead of the 1 space in other browsers. 58 .ie7-restore-left-whitespace() { 59 *margin-left: .3em; 60 61 &:first-child { 62 *margin-left: 0; 63 } 64 } 65 66 .ie7-restore-right-whitespace() { 67 *margin-right: .3em; 68 } 69 70 // Sizing shortcuts 71 // ------------------------- 72 .size(@height, @width) { 73 width: @width; 74 height: @height; 75 } 76 .square(@size) { 77 .size(@size, @size); 78 } 79 80 // Placeholder text 81 // ------------------------- 82 .placeholder(@color: @placeholderText) { 83 &:-moz-placeholder { 84 color: @color; 85 } 86 &:-ms-input-placeholder { 87 color: @color; 88 } 89 &::-webkit-input-placeholder { 90 color: @color; 91 } 92 } 93 94 // Text overflow 95 // ------------------------- 96 // Requires inline-block or block for proper styling 97 .text-overflow() { 98 overflow: hidden; 99 text-overflow: ellipsis; 100 white-space: nowrap; 101 } 102 103 // CSS image replacement 104 // ------------------------- 105 // Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 106 .hide-text { 107 font: 0/0 a; 108 color: transparent; 109 text-shadow: none; 110 background-color: transparent; 111 border: 0; 112 } 113 114 115 // FONTS 116 // -------------------------------------------------- 117 118 #font { 119 #family { 120 .serif() { 121 font-family: @serifFontFamily; 122 } 123 .sans-serif() { 124 font-family: @sansFontFamily; 125 } 126 .monospace() { 127 font-family: @monoFontFamily; 128 } 129 } 130 .shorthand(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { 131 font-size: @size; 132 font-weight: @weight; 133 line-height: @lineHeight; 134 } 135 .serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { 136 #font > #family > .serif; 137 #font > .shorthand(@size, @weight, @lineHeight); 138 } 139 .sans-serif(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { 140 #font > #family > .sans-serif; 141 #font > .shorthand(@size, @weight, @lineHeight); 142 } 143 .monospace(@size: @baseFontSize, @weight: normal, @lineHeight: @baseLineHeight) { 144 #font > #family > .monospace; 145 #font > .shorthand(@size, @weight, @lineHeight); 146 } 147 } 148 149 150 // FORMS 151 // -------------------------------------------------- 152 153 // Block level inputs 154 .input-block-level { 155 display: block; 156 width: 100%; 157 min-height: @inputHeight; // Make inputs at least the height of their button counterpart (base line-height + padding + border) 158 .box-sizing(border-box); // Makes inputs behave like true block-level elements 159 } 160 161 162 163 // Mixin for form field states 164 .formFieldState(@textColor: #555, @borderColor: #ccc, @backgroundColor: #f5f5f5) { 165 // Set the text color 166 .control-label, 167 .help-block, 168 .help-inline { 169 color: @textColor; 170 } 171 // Style inputs accordingly 172 .checkbox, 173 .radio, 174 input, 175 select, 176 textarea { 177 color: @textColor; 178 } 179 input, 180 select, 181 textarea { 182 border-color: @borderColor; 183 .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work 184 &:focus { 185 border-color: darken(@borderColor, 10%); 186 @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@borderColor, 20%); 187 .box-shadow(@shadow); 188 } 189 } 190 // Give a small background color for input-prepend/-append 191 .input-prepend .add-on, 192 .input-append .add-on { 193 color: @textColor; 194 background-color: @backgroundColor; 195 border-color: @textColor; 196 } 197 } 198 199 200 201 // CSS3 PROPERTIES 202 // -------------------------------------------------- 203 204 // Border Radius 205 .border-radius(@radius) { 206 -webkit-border-radius: @radius; 207 -moz-border-radius: @radius; 208 border-radius: @radius; 209 } 210 211 // Single Corner Border Radius 212 .border-top-left-radius(@radius) { 213 -webkit-border-top-left-radius: @radius; 214 -moz-border-radius-topleft: @radius; 215 border-top-left-radius: @radius; 216 } 217 .border-top-right-radius(@radius) { 218 -webkit-border-top-right-radius: @radius; 219 -moz-border-radius-topright: @radius; 220 border-top-right-radius: @radius; 221 } 222 .border-bottom-right-radius(@radius) { 223 -webkit-border-bottom-right-radius: @radius; 224 -moz-border-radius-bottomright: @radius; 225 border-bottom-right-radius: @radius; 226 } 227 .border-bottom-left-radius(@radius) { 228 -webkit-border-bottom-left-radius: @radius; 229 -moz-border-radius-bottomleft: @radius; 230 border-bottom-left-radius: @radius; 231 } 232 233 // Single Side Border Radius 234 .border-top-radius(@radius) { 235 .border-top-right-radius(@radius); 236 .border-top-left-radius(@radius); 237 } 238 .border-right-radius(@radius) { 239 .border-top-right-radius(@radius); 240 .border-bottom-right-radius(@radius); 241 } 242 .border-bottom-radius(@radius) { 243 .border-bottom-right-radius(@radius); 244 .border-bottom-left-radius(@radius); 245 } 246 .border-left-radius(@radius) { 247 .border-top-left-radius(@radius); 248 .border-bottom-left-radius(@radius); 249 } 250 251 // Drop shadows 252 .box-shadow(@shadow) { 253 -webkit-box-shadow: @shadow; 254 -moz-box-shadow: @shadow; 255 box-shadow: @shadow; 256 } 257 258 // Transitions 259 .transition(@transition) { 260 -webkit-transition: @transition; 261 -moz-transition: @transition; 262 -o-transition: @transition; 263 transition: @transition; 264 } 265 .transition-delay(@transition-delay) { 266 -webkit-transition-delay: @transition-delay; 267 -moz-transition-delay: @transition-delay; 268 -o-transition-delay: @transition-delay; 269 transition-delay: @transition-delay; 270 } 271 .transition-duration(@transition-duration) { 272 -webkit-transition-duration: @transition-duration; 273 -moz-transition-duration: @transition-duration; 274 -o-transition-duration: @transition-duration; 275 transition-duration: @transition-duration; 276 } 277 278 // Transformations 279 .rotate(@degrees) { 280 -webkit-transform: rotate(@degrees); 281 -moz-transform: rotate(@degrees); 282 -ms-transform: rotate(@degrees); 283 -o-transform: rotate(@degrees); 284 transform: rotate(@degrees); 285 } 286 .scale(@ratio) { 287 -webkit-transform: scale(@ratio); 288 -moz-transform: scale(@ratio); 289 -ms-transform: scale(@ratio); 290 -o-transform: scale(@ratio); 291 transform: scale(@ratio); 292 } 293 .translate(@x, @y) { 294 -webkit-transform: translate(@x, @y); 295 -moz-transform: translate(@x, @y); 296 -ms-transform: translate(@x, @y); 297 -o-transform: translate(@x, @y); 298 transform: translate(@x, @y); 299 } 300 .skew(@x, @y) { 301 -webkit-transform: skew(@x, @y); 302 -moz-transform: skew(@x, @y); 303 -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885 304 -o-transform: skew(@x, @y); 305 transform: skew(@x, @y); 306 -webkit-backface-visibility: hidden; // See https://github.com/twbs/bootstrap/issues/5319 307 } 308 .translate3d(@x, @y, @z) { 309 -webkit-transform: translate3d(@x, @y, @z); 310 -moz-transform: translate3d(@x, @y, @z); 311 -o-transform: translate3d(@x, @y, @z); 312 transform: translate3d(@x, @y, @z); 313 } 314 315 // Backface visibility 316 // Prevent browsers from flickering when using CSS 3D transforms. 317 // Default value is `visible`, but can be changed to `hidden 318 // See git pull https://github.com/dannykeane/bootstrap.git backface-visibility for examples 319 .backface-visibility(@visibility){ 320 -webkit-backface-visibility: @visibility; 321 -moz-backface-visibility: @visibility; 322 backface-visibility: @visibility; 323 } 324 325 // Background clipping 326 // Heads up: FF 3.6 and under need "padding" instead of "padding-box" 327 .background-clip(@clip) { 328 -webkit-background-clip: @clip; 329 -moz-background-clip: @clip; 330 background-clip: @clip; 331 } 332 333 // Background sizing 334 .background-size(@size) { 335 -webkit-background-size: @size; 336 -moz-background-size: @size; 337 -o-background-size: @size; 338 background-size: @size; 339 } 340 341 342 // Box sizing 343 .box-sizing(@boxmodel) { 344 -webkit-box-sizing: @boxmodel; 345 -moz-box-sizing: @boxmodel; 346 box-sizing: @boxmodel; 347 } 348 349 // User select 350 // For selecting text on the page 351 .user-select(@select) { 352 -webkit-user-select: @select; 353 -moz-user-select: @select; 354 -ms-user-select: @select; 355 -o-user-select: @select; 356 user-select: @select; 357 } 358 359 // Resize anything 360 .resizable(@direction) { 361 resize: @direction; // Options: horizontal, vertical, both 362 overflow: auto; // Safari fix 363 } 364 365 // CSS3 Content Columns 366 .content-columns(@columnCount, @columnGap: @gridGutterWidth) { 367 -webkit-column-count: @columnCount; 368 -moz-column-count: @columnCount; 369 column-count: @columnCount; 370 -webkit-column-gap: @columnGap; 371 -moz-column-gap: @columnGap; 372 column-gap: @columnGap; 373 } 374 375 // Optional hyphenation 376 .hyphens(@mode: auto) { 377 word-wrap: break-word; 378 -webkit-hyphens: @mode; 379 -moz-hyphens: @mode; 380 -ms-hyphens: @mode; 381 -o-hyphens: @mode; 382 hyphens: @mode; 383 } 384 385 // Opacity 386 .opacity(@opacity) { 387 opacity: @opacity / 100; 388 filter: ~"alpha(opacity=@{opacity})"; 389 } 390 391 392 393 // BACKGROUNDS 394 // -------------------------------------------------- 395 396 // Add an alphatransparency value to any background or border color (via Elyse Holladay) 397 #translucent { 398 .background(@color: @white, @alpha: 1) { 399 background-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); 400 } 401 .border(@color: @white, @alpha: 1) { 402 border-color: hsla(hue(@color), saturation(@color), lightness(@color), @alpha); 403 .background-clip(padding-box); 404 } 405 } 406 407 // Gradient Bar Colors for buttons and alerts 408 .gradientBar(@primaryColor, @secondaryColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { 409 color: @textColor; 410 text-shadow: @textShadow; 411 #gradient > .vertical(@primaryColor, @secondaryColor); 412 border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%); 413 border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%); 414 } 415 416 // Gradients 417 #gradient { 418 .horizontal(@startColor: #555, @endColor: #333) { 419 background-color: @endColor; 420 background-image: -moz-linear-gradient(left, @startColor, @endColor); // FF 3.6+ 421 background-image: -webkit-gradient(linear, 0 0, 100% 0, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ 422 background-image: -webkit-linear-gradient(left, @startColor, @endColor); // Safari 5.1+, Chrome 10+ 423 background-image: -o-linear-gradient(left, @startColor, @endColor); // Opera 11.10 424 background-image: linear-gradient(to right, @startColor, @endColor); // Standard, IE10 425 background-repeat: repeat-x; 426 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@startColor),argb(@endColor))); // IE9 and down 427 } 428 .vertical(@startColor: #555, @endColor: #333) { 429 background-color: mix(@startColor, @endColor, 60%); 430 background-image: -moz-linear-gradient(top, @startColor, @endColor); // FF 3.6+ 431 background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+ 432 background-image: -webkit-linear-gradient(top, @startColor, @endColor); // Safari 5.1+, Chrome 10+ 433 background-image: -o-linear-gradient(top, @startColor, @endColor); // Opera 11.10 434 background-image: linear-gradient(to bottom, @startColor, @endColor); // Standard, IE10 435 background-repeat: repeat-x; 436 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down 437 } 438 .directional(@startColor: #555, @endColor: #333, @deg: 45deg) { 439 background-color: @endColor; 440 background-repeat: repeat-x; 441 background-image: -moz-linear-gradient(@deg, @startColor, @endColor); // FF 3.6+ 442 background-image: -webkit-linear-gradient(@deg, @startColor, @endColor); // Safari 5.1+, Chrome 10+ 443 background-image: -o-linear-gradient(@deg, @startColor, @endColor); // Opera 11.10 444 background-image: linear-gradient(@deg, @startColor, @endColor); // Standard, IE10 445 } 446 .horizontal-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { 447 background-color: mix(@midColor, @endColor, 80%); 448 background-image: -webkit-gradient(left, linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); 449 background-image: -webkit-linear-gradient(left, @startColor, @midColor @colorStop, @endColor); 450 background-image: -moz-linear-gradient(left, @startColor, @midColor @colorStop, @endColor); 451 background-image: -o-linear-gradient(left, @startColor, @midColor @colorStop, @endColor); 452 background-image: linear-gradient(to right, @startColor, @midColor @colorStop, @endColor); 453 background-repeat: no-repeat; 454 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback 455 } 456 457 .vertical-three-colors(@startColor: #00b3ee, @midColor: #7a43b6, @colorStop: 50%, @endColor: #c3325f) { 458 background-color: mix(@midColor, @endColor, 80%); 459 background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), color-stop(@colorStop, @midColor), to(@endColor)); 460 background-image: -webkit-linear-gradient(@startColor, @midColor @colorStop, @endColor); 461 background-image: -moz-linear-gradient(top, @startColor, @midColor @colorStop, @endColor); 462 background-image: -o-linear-gradient(@startColor, @midColor @colorStop, @endColor); 463 background-image: linear-gradient(@startColor, @midColor @colorStop, @endColor); 464 background-repeat: no-repeat; 465 filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@startColor),argb(@endColor))); // IE9 and down, gets no color-stop at all for proper fallback 466 } 467 .radial(@innerColor: #555, @outerColor: #333) { 468 background-color: @outerColor; 469 background-image: -webkit-gradient(radial, center center, 0, center center, 460, from(@innerColor), to(@outerColor)); 470 background-image: -webkit-radial-gradient(circle, @innerColor, @outerColor); 471 background-image: -moz-radial-gradient(circle, @innerColor, @outerColor); 472 background-image: -o-radial-gradient(circle, @innerColor, @outerColor); 473 background-repeat: no-repeat; 474 } 475 .striped(@color: #555, @angle: 45deg) { 476 background-color: @color; 477 background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,.15)), color-stop(.75, rgba(255,255,255,.15)), color-stop(.75, transparent), to(transparent)); 478 background-image: -webkit-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); 479 background-image: -moz-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); 480 background-image: -o-linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); 481 background-image: linear-gradient(@angle, rgba(255,255,255,.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.15) 50%, rgba(255,255,255,.15) 75%, transparent 75%, transparent); 482 } 483 } 484 // Reset filters for IE 485 .reset-filter() { 486 filter: e(%("progid:DXImageTransform.Microsoft.gradient(enabled = false)")); 487 } 488 489 490 491 // COMPONENT MIXINS 492 // -------------------------------------------------- 493 494 // Horizontal dividers 495 // ------------------------- 496 // Dividers (basically an hr) within dropdowns and nav lists 497 .nav-divider(@top: #e5e5e5, @bottom: @white) { 498 // IE7 needs a set width since we gave a height. Restricting just 499 // to IE7 to keep the 1px left/right space in other browsers. 500 // It is unclear where IE is getting the extra space that we need 501 // to negative-margin away, but so it goes. 502 *width: 100%; 503 height: 1px; 504 margin: ((@baseLineHeight / 2) - 1) 1px; // 8px 1px 505 *margin: -5px 0 5px; 506 overflow: hidden; 507 background-color: @top; 508 border-bottom: 1px solid @bottom; 509 } 510 511 // Button backgrounds 512 // ------------------ 513 .buttonBackground(@startColor, @endColor, @textColor: #fff, @textShadow: 0 -1px 0 rgba(0,0,0,.25)) { 514 // gradientBar will set the background to a pleasing blend of these, to support IE<=9 515 .gradientBar(@startColor, @endColor, @textColor, @textShadow); 516 *background-color: @endColor; /* Darken IE7 buttons by default so they stand out more given they won't have borders */ 517 .reset-filter(); 518 519 // in these cases the gradient won't cover the background, so we override 520 &:hover, &:focus, &:active, &.active, &.disabled, &[disabled] { 521 color: @textColor; 522 background-color: @endColor; 523 *background-color: darken(@endColor, 5%); 524 } 525 526 // IE 7 + 8 can't handle box-shadow to show active, so we darken a bit ourselves 527 &:active, 528 &.active { 529 background-color: darken(@endColor, 10%) e("\9"); 530 } 531 } 532 533 // Navbar vertical align 534 // ------------------------- 535 // Vertically center elements in the navbar. 536 // Example: an element has a height of 30px, so write out `.navbarVerticalAlign(30px);` to calculate the appropriate top margin. 537 .navbarVerticalAlign(@elementHeight) { 538 margin-top: (@navbarHeight - @elementHeight) / 2; 539 } 540 541 542 543 // Grid System 544 // ----------- 545 546 // Centered container element 547 .container-fixed() { 548 margin-right: auto; 549 margin-left: auto; 550 .clearfix(); 551 } 552 553 // Table columns 554 .tableColumns(@columnSpan: 1) { 555 float: none; // undo default grid column styles 556 width: ((@gridColumnWidth) * @columnSpan) + (@gridGutterWidth * (@columnSpan - 1)) - 16; // 16 is total padding on left and right of table cells 557 margin-left: 0; // undo default grid column styles 558 } 559 560 // Make a Grid 561 // Use .makeRow and .makeColumn to assign semantic layouts grid system behavior 562 .makeRow() { 563 margin-left: @gridGutterWidth * -1; 564 .clearfix(); 565 } 566 .makeColumn(@columns: 1, @offset: 0) { 567 float: left; 568 margin-left: (@gridColumnWidth * @offset) + (@gridGutterWidth * (@offset - 1)) + (@gridGutterWidth * 2); 569 width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); 570 } 571 572 // The Grid 573 #grid { 574 575 .core (@gridColumnWidth, @gridGutterWidth) { 576 577 .spanX (@index) when (@index > 0) { 578 .span@{index} { .span(@index); } 579 .spanX(@index - 1); 580 } 581 .spanX (0) {} 582 583 .offsetX (@index) when (@index > 0) { 584 .offset@{index} { .offset(@index); } 585 .offsetX(@index - 1); 586 } 587 .offsetX (0) {} 588 589 .offset (@columns) { 590 margin-left: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns + 1)); 591 } 592 .span (@columns) { 593 // The logic from here was copied to less/bootstrap/navbar.less#L200. 594 width: (@gridColumnWidth * @columns) + (@gridGutterWidth * (@columns - 1)); 595 } 596 597 .row { 598 margin-left: @gridGutterWidth * -1; 599 .clearfix(); 600 } 601 602 [class*="span"] { 603 float: left; 604 min-height: 1px; // prevent collapsing columns 605 margin-left: @gridGutterWidth; 606 } 607 608 // Set the container width, and override it for fixed navbars in media queries 609 .container, 610 .navbar-static-top .container, 611 .navbar-fixed-top .container, 612 .navbar-fixed-bottom .container { .span(@gridColumns); } 613 614 // generate .spanX and .offsetX 615 .spanX (@gridColumns); 616 .offsetX (@gridColumns); 617 618 } 619 620 .fluid (@fluidGridColumnWidth, @fluidGridGutterWidth) { 621 622 .spanX (@index) when (@index > 0) { 623 .span@{index} { .span(@index); } 624 .spanX(@index - 1); 625 } 626 .spanX (0) {} 627 628 .offsetX (@index) when (@index > 0) { 629 .offset@{index} { .offset(@index); } 630 .offset@{index}:first-child { .offsetFirstChild(@index); } 631 .offsetX(@index - 1); 632 } 633 .offsetX (0) {} 634 635 .offset (@columns) { 636 margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth*2); 637 *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + (@fluidGridGutterWidth*2) - (.5 / @gridRowWidth * 100 * 1%); 638 } 639 640 .offsetFirstChild (@columns) { 641 margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) + (@fluidGridGutterWidth); 642 *margin-left: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%) + @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); 643 } 644 645 .span (@columns) { 646 width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)); 647 *width: (@fluidGridColumnWidth * @columns) + (@fluidGridGutterWidth * (@columns - 1)) - (.5 / @gridRowWidth * 100 * 1%); 648 } 649 650 .row-fluid { 651 width: 100%; 652 .clearfix(); 653 [class*="span"] { 654 .input-block-level(); 655 float: left; 656 margin-left: @fluidGridGutterWidth; 657 *margin-left: @fluidGridGutterWidth - (.5 / @gridRowWidth * 100 * 1%); 658 } 659 [class*="span"]:first-child { 660 margin-left: 0; 661 } 662 663 // Space grid-sized controls properly if multiple per line 664 .controls-row [class*="span"] + [class*="span"] { 665 margin-left: @fluidGridGutterWidth; 666 } 667 668 // generate .spanX and .offsetX 669 .spanX (@gridColumns); 670 .offsetX (@gridColumns); 671 } 672 673 } 674 675 .input(@gridColumnWidth, @gridGutterWidth) { 676 677 .spanX (@index) when (@index > 0) { 678 input.span@{index}, textarea.span@{index}, .uneditable-input.span@{index} { .span(@index); } 679 .spanX(@index - 1); 680 } 681 .spanX (0) {} 682 683 .span(@columns) { 684 width: ((@gridColumnWidth) * @columns) + (@gridGutterWidth * (@columns - 1)) - 14; 685 } 686 687 input, 688 textarea, 689 .uneditable-input { 690 margin-left: 0; // override margin-left from core grid system 691 } 692 693 // Space grid-sized controls properly if multiple per line 694 .controls-row [class*="span"] + [class*="span"] { 695 margin-left: @gridGutterWidth; 696 } 697 698 // generate .spanX 699 .spanX (@gridColumns); 700 701 } 702 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Aug 11 10:00:09 2016 | Cross-referenced by PHPXref 0.7.1 |