mirror of https://github.com/twbs/bootstrap.git
				
				
				
			Re-add carousel captions as optional
* They're hidden by default in the mobile-first views because otherwise they just cover up the slides * In mobile they're centered, and then are shown left aligned at larger viewports
This commit is contained in:
		
							parent
							
								
									e74fb39080
								
							
						
					
					
						commit
						6d048471c4
					
				|  | @ -4437,7 +4437,6 @@ a.counter:focus { | |||
| 
 | ||||
| .carousel { | ||||
|   position: relative; | ||||
|   line-height: 1; | ||||
| } | ||||
| 
 | ||||
| .carousel-inner { | ||||
|  | @ -4504,19 +4503,23 @@ a.counter:focus { | |||
|   top: 0; | ||||
|   bottom: 0; | ||||
|   left: 0; | ||||
|   width: 120px; | ||||
|   width: 15%; | ||||
|   font-size: 20px; | ||||
|   color: #fff; | ||||
|   text-align: center; | ||||
|   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | ||||
|   opacity: 0.5; | ||||
|   filter: alpha(opacity=50); | ||||
| } | ||||
| 
 | ||||
| .carousel-control.left { | ||||
|   background-color: rgba(0, 0, 0, 0.001); | ||||
|   background-color: rgba(0, 0, 0, 0.0001); | ||||
|   background-color: transparent; | ||||
|   background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.001)); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.001))); | ||||
|   background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.001)); | ||||
|   background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.001)); | ||||
|   background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.001)); | ||||
|   background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0001)); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); | ||||
|   background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0001)); | ||||
|   background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0001)); | ||||
|   background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.0001)); | ||||
|   background-repeat: repeat-x; | ||||
|   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); | ||||
| } | ||||
|  | @ -4526,11 +4529,11 @@ a.counter:focus { | |||
|   left: auto; | ||||
|   background-color: rgba(0, 0, 0, 0.5); | ||||
|   background-color: transparent; | ||||
|   background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(0, 0, 0, 0.001)), to(rgba(0, 0, 0, 0.5))); | ||||
|   background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: linear-gradient(to right, rgba(0, 0, 0, 0.001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: -webkit-gradient(linear, 0 0, 100% 0, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); | ||||
|   background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001), rgba(0, 0, 0, 0.5)); | ||||
|   background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001), rgba(0, 0, 0, 0.5)); | ||||
|   background-repeat: repeat-x; | ||||
|   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); | ||||
| } | ||||
|  | @ -4543,28 +4546,21 @@ a.counter:focus { | |||
|   filter: alpha(opacity=90); | ||||
| } | ||||
| 
 | ||||
| .carousel-control .carousel-control .glyphicon-chevron-left, | ||||
| .carousel-control .carousel-control .glyphicon-chevron-right { | ||||
| .carousel-control .glyphicon { | ||||
|   position: absolute; | ||||
|   top: 50%; | ||||
|   left: 50%; | ||||
|   z-index: 5; | ||||
|   display: inline-block; | ||||
|   width: 20px; | ||||
|   height: 20px; | ||||
|   margin-top: -10px; | ||||
|   margin-left: 20px; | ||||
|   font-size: 20px; | ||||
|   color: #fff; | ||||
|   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | ||||
| } | ||||
| 
 | ||||
| .carousel-control .carousel-control .glyphicon-chevron-right { | ||||
|   margin-left: 80px; | ||||
|   margin-left: -10px; | ||||
| } | ||||
| 
 | ||||
| .carousel-indicators { | ||||
|   position: absolute; | ||||
|   bottom: 15px; | ||||
|   bottom: 20px; | ||||
|   left: 50%; | ||||
|   z-index: 5; | ||||
|   width: 100px; | ||||
|  | @ -4589,17 +4585,37 @@ a.counter:focus { | |||
|   background-color: #fff; | ||||
| } | ||||
| 
 | ||||
| .carousel-caption { | ||||
|   position: absolute; | ||||
|   right: 20%; | ||||
|   bottom: 20px; | ||||
|   left: 20%; | ||||
|   display: none; | ||||
|   padding-top: 20px; | ||||
|   padding-bottom: 20px; | ||||
|   color: #fff; | ||||
|   text-align: center; | ||||
|   text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); | ||||
| } | ||||
| 
 | ||||
| @media screen and (min-width: 768px) { | ||||
|   .carousel-control .glyphicon-chevron-left, | ||||
|   .carousel-control .glyphicon-chevron-right { | ||||
|   .carousel-control .glyphicon { | ||||
|     width: 30px; | ||||
|     height: 30px; | ||||
|     margin-top: -15px; | ||||
|     margin-left: 30px; | ||||
|     margin-left: -15px; | ||||
|     font-size: 30px; | ||||
|   } | ||||
|   .carousel-control .glyphicon-chevron-right { | ||||
|     margin-left: 70px; | ||||
|   .carousel-caption { | ||||
|     right: 0; | ||||
|     left: 0; | ||||
|     z-index: 10; | ||||
|     display: block; | ||||
|     max-width: 60%; | ||||
|     padding: 30px; | ||||
|     margin-right: 0; | ||||
|     margin-left: 0; | ||||
|     text-align: left; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -67,7 +67,7 @@ | |||
|       }) | ||||
| 
 | ||||
|     // carousel demo
 | ||||
|     $('#myCarousel').carousel() | ||||
|     $('.bs-docs-carousel-example').carousel() | ||||
| 
 | ||||
|     // javascript build logic
 | ||||
|     var inputsComponent = $("#components.download input") | ||||
|  |  | |||
|  | @ -1470,10 +1470,10 @@ $('#myCollapsible').on('hidden', function () { | |||
|               <h1>Carousel <small>bootstrap-carousel.js</small></h1> | ||||
|             </div> | ||||
| 
 | ||||
|             <h2>Example carousel</h2> | ||||
|             <h2>Examples</h2> | ||||
|             <p>The slideshow below shows a generic plugin and component for cycling through elements like a carousel.</p> | ||||
|             <div class="bs-docs-example"> | ||||
|               <div id="myCarousel" class="carousel slide"> | ||||
|               <div class="carousel slide bs-docs-carousel-example"> | ||||
|                 <ol class="carousel-indicators"> | ||||
|                   <li data-target="#myCarousel" data-slide-to="0" class="active"></li> | ||||
|                   <li data-target="#myCarousel" data-slide-to="1"></li> | ||||
|  | @ -1499,7 +1499,7 @@ $('#myCollapsible').on('hidden', function () { | |||
|               </div> | ||||
|             </div><!-- /example --> | ||||
| {% highlight html linenos %} | ||||
| <div id="myCarousel" class="carousel slide"> | ||||
| <div class="carousel slide"> | ||||
|   <!-- Indicators --> | ||||
|   <ol class="carousel-indicators"> | ||||
|     <li data-target="#myCarousel" data-slide-to="0" class="active"></li> | ||||
|  | @ -1520,18 +1520,64 @@ $('#myCollapsible').on('hidden', function () { | |||
| 
 | ||||
|   <!-- Controls --> | ||||
|   <a class="left carousel-control" href="#myCarousel" data-slide="prev"> | ||||
|     <span class="control">‹</span> | ||||
|     <span class="glyphicon glyphicon-chevron-left"></span> | ||||
|   </a> | ||||
|   <a class="right carousel-control" href="#myCarousel" data-slide="next"> | ||||
|     <span class="control">›</span> | ||||
|     <span class="glyphicon glyphicon-chevron-right"></span> | ||||
|   </a> | ||||
| </div> | ||||
| {% endhighlight %} | ||||
| 
 | ||||
|             <div class="alert alert-warning"> | ||||
|               <strong>Heads up!</strong> | ||||
|               When implementing this carousel, remove the images we have provided and replace them with your own. | ||||
|             </div> | ||||
|             <h3>Optional captions</h3> | ||||
|             <p>Add captions to your slides easily with the <code>.carousel-caption</code> element within any <code>.item</code>. Place just about any optional HTML within there and it will be automatically aligned and formatted.</p> | ||||
|             <div class="bs-docs-example"> | ||||
|               <div class="carousel slide bs-docs-carousel-example"> | ||||
|                 <ol class="carousel-indicators"> | ||||
|                   <li data-target="#myCarousel" data-slide-to="0" class="active"></li> | ||||
|                   <li data-target="#myCarousel" data-slide-to="1"></li> | ||||
|                   <li data-target="#myCarousel" data-slide-to="2"></li> | ||||
|                 </ol> | ||||
|                 <div class="carousel-inner"> | ||||
|                   <div class="item active"> | ||||
|                     <img data-src="holder.js/900x500/auto/#777:#777" alt=""> | ||||
|                     <div class="carousel-caption"> | ||||
|                       <h3>First slide label</h3> | ||||
|                       <p>Nulla vitae elit libero, a pharetra augue. Maecenas faucibus mollis interdum. Cum sociis natoque penatibus et magnis dis parturient montes.</p> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   <div class="item"> | ||||
|                     <img data-src="holder.js/900x500/auto/#777:#777" alt=""> | ||||
|                     <div class="carousel-caption"> | ||||
|                       <h3>Second slide label</h3> | ||||
|                       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacinia bibendum nulla sed consectetur. Nullam quis risus eget urna mollis ornare.</p> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   <div class="item"> | ||||
|                     <img data-src="holder.js/900x500/auto/#777:#777" alt=""> | ||||
|                     <div class="carousel-caption"> | ||||
|                       <h3>Third slide label</h3> | ||||
|                       <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.</p> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|                 <a class="left carousel-control" href="#myCarousel" data-slide="prev"> | ||||
|                   <span class="glyphicon glyphicon-chevron-left"></span> | ||||
|                 </a> | ||||
|                 <a class="right carousel-control" href="#myCarousel" data-slide="next"> | ||||
|                   <span class="glyphicon glyphicon-chevron-right"></span> | ||||
|                 </a> | ||||
|               </div> | ||||
|             </div><!-- /example --> | ||||
| {% highlight html linenos %} | ||||
| <div class="item active"> | ||||
|   <img src="..." alt=""> | ||||
|   <div class="carousel-caption"> | ||||
|     <h3>...</h3> | ||||
|     <p>...</p> | ||||
|   </div> | ||||
| </div> | ||||
| {% endhighlight %} | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|             <hr class="bs-docs-separator"> | ||||
|  |  | |||
|  | @ -6,7 +6,6 @@ | |||
| // Wrapper for the slide container and indicators | ||||
| .carousel { | ||||
|   position: relative; | ||||
|   line-height: 1; | ||||
| } | ||||
| 
 | ||||
| // Wrap all slides, but only show the active one | ||||
|  | @ -75,8 +74,12 @@ | |||
|   top: 0; | ||||
|   left: 0; | ||||
|   bottom: 0; | ||||
|   width: 120px; | ||||
|   width: 15%; | ||||
|   .opacity(50); | ||||
|   font-size: 20px; | ||||
|   color: #fff; | ||||
|   text-align: center; | ||||
|   text-shadow: 0 1px 2px rgba(0,0,0,.6); | ||||
| 
 | ||||
|   // we can't have this transition here | ||||
|   // because webkit cancels the carousel | ||||
|  | @ -87,13 +90,13 @@ | |||
| 
 | ||||
|   // Set gradients for backgrounds | ||||
|   &.left { | ||||
|     #gradient > .horizontal(rgba(0,0,0,.5), rgba(0,0,0,.001)); | ||||
|     #gradient > .horizontal(rgba(0,0,0,.5), rgba(0,0,0,.0001)); | ||||
|     background-color: transparent; | ||||
|   } | ||||
|   &.right { | ||||
|     left: auto; | ||||
|     right: 0; | ||||
|     #gradient > .horizontal(rgba(0,0,0,.001), rgba(0,0,0,.5)); | ||||
|     #gradient > .horizontal(rgba(0,0,0,.0001), rgba(0,0,0,.5)); | ||||
|     background-color: transparent; | ||||
|   } | ||||
| 
 | ||||
|  | @ -106,30 +109,24 @@ | |||
|   } | ||||
| 
 | ||||
|   // Toggles | ||||
|   .carousel-control .glyphicon-chevron-left, | ||||
|   .carousel-control .glyphicon-chevron-right { | ||||
|   .glyphicon { | ||||
|     position: absolute; | ||||
|     top: 50%; | ||||
|     left: 50%; | ||||
|     z-index: 5; | ||||
|     display: inline-block; | ||||
|     width:  20px; | ||||
|     height: 20px; | ||||
|     margin-top: -10px; | ||||
|     margin-left: 20px; | ||||
|     font-size: 20px; | ||||
|     color: #fff; | ||||
|     text-shadow: 0 1px 2px rgba(0,0,0,.6); | ||||
|   } | ||||
|   .carousel-control .glyphicon-chevron-right { | ||||
|     margin-left: 80px; | ||||
|     margin-left: -10px; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| // Carousel indicator pips | ||||
| // Optional indicator pips | ||||
| // ----------------------------- | ||||
| .carousel-indicators { | ||||
|   position: absolute; | ||||
|   bottom: 15px; | ||||
|   bottom: 20px; | ||||
|   left: 50%; | ||||
|   z-index: 5; | ||||
|   width: 100px; | ||||
|  | @ -153,20 +150,45 @@ | |||
|   } | ||||
| } | ||||
| 
 | ||||
| // Optional captions | ||||
| // ----------------------------- | ||||
| // Hidden by default for smaller viewports | ||||
| .carousel-caption { | ||||
|   position: absolute; | ||||
|   left: 20%; | ||||
|   right: 20%; | ||||
|   bottom: 20px; | ||||
|   display: none; | ||||
|   padding-top: 20px; | ||||
|   padding-bottom: 20px; | ||||
|   color: #fff; | ||||
|   text-align: center; | ||||
|   text-shadow: 0 1px 2px rgba(0,0,0,.6); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| // Scale up controls for >768px | ||||
| @media screen and (min-width: 768px) { | ||||
| 
 | ||||
|   .carousel-control .glyphicon-chevron-left, | ||||
|   .carousel-control .glyphicon-chevron-right { | ||||
|   // Scale up the controls a smidge | ||||
|   .carousel-control .glyphicon { | ||||
|     width: 30px; | ||||
|     height: 30px; | ||||
|     margin-top: -15px; | ||||
|     margin-left: 30px; | ||||
|     margin-left: -15px; | ||||
|     font-size: 30px; | ||||
|   } | ||||
|   .carousel-control .glyphicon-chevron-right { | ||||
|     margin-left: 70px; | ||||
|   } | ||||
| 
 | ||||
|   // Show and left align the captions | ||||
|   .carousel-caption { | ||||
|     left: 0; | ||||
|     right: 0; | ||||
|     z-index: 10; | ||||
|     display: block; | ||||
|     max-width: 60%; | ||||
|     padding: 30px; | ||||
|     margin-left: 0; | ||||
|     margin-right: 0; | ||||
|     text-align: left; | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue