buttons 2

This commit is contained in:
Sky Johnson 2025-04-11 15:37:09 -05:00
parent a2fd8087a6
commit 616c57e3c5
5 changed files with 188 additions and 125 deletions

1
css/bootstrap.css vendored
View File

@ -43,3 +43,4 @@
@import "carousel.css"; @import "carousel.css";
@import "hero-unit.css"; @import "hero-unit.css";
@import "utilities.css"; @import "utilities.css";
@import "caret.css";

View File

@ -68,6 +68,13 @@
border-bottom-right-radius: var(--base-border-radius); border-bottom-right-radius: var(--base-border-radius);
} }
/* Ensure proper alignment of dropdown-toggle button */
.btn-group > .dropdown-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
}
/* Reset corners for large buttons */ /* Reset corners for large buttons */
.btn-group > .btn.large:first-child { .btn-group > .btn.large:first-child {
margin-left: 0; margin-left: 0;
@ -87,6 +94,7 @@
.btn-group > .btn:active, .btn-group > .btn:active,
.btn-group > .btn.active { .btn-group > .btn.active {
z-index: 2; z-index: 2;
position: relative; /* Ensure z-index works properly */
} }
/* On active and open, don't show outline */ /* On active and open, don't show outline */
@ -148,23 +156,18 @@
/* Reposition the caret */ /* Reposition the caret */
.btn .caret { .btn .caret {
margin-top: 8px; display: inline-block;
vertical-align: middle;
margin-left: 0; margin-left: 0;
} }
/* Carets in other button sizes */ /* Carets in other button sizes */
.btn-large .caret { .btn-large .caret {
margin-top: 6px;
border-left-width: 5px; border-left-width: 5px;
border-right-width: 5px; border-right-width: 5px;
border-top-width: 5px; border-top-width: 5px;
} }
.btn-mini .caret,
.btn-small .caret {
margin-top: 8px;
}
/* Upside down carets for .dropup */ /* Upside down carets for .dropup */
.dropup .btn-large .caret { .dropup .btn-large .caret {
border-bottom-width: 5px; border-bottom-width: 5px;

View File

@ -27,8 +27,39 @@
.btn:focus { .btn:focus {
color: var(--gray-dark); color: var(--gray-dark);
text-decoration: none; text-decoration: none;
background-position: 0 -15px; background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-background) 80%, black), color-mix(in srgb, var(--btn-background-highlight) 80%, black));
transition: background-position 0.1s linear; transition: background-image 0.2s ease;
}
/* Specific hover states for colored buttons */
.btn-primary:hover, .btn-primary:focus {
color: var(--white);
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-primary-background) 80%, black), color-mix(in srgb, var(--btn-primary-background-highlight) 80%, black));
}
.btn-warning:hover, .btn-warning:focus {
color: var(--white);
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-warning-background) 80%, black), color-mix(in srgb, var(--btn-warning-background-highlight) 80%, black));
}
.btn-danger:hover, .btn-danger:focus {
color: var(--white);
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-danger-background) 80%, black), color-mix(in srgb, var(--btn-danger-background-highlight) 80%, black));
}
.btn-success:hover, .btn-success:focus {
color: var(--white);
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-success-background) 80%, black), color-mix(in srgb, var(--btn-success-background-highlight) 80%, black));
}
.btn-info:hover, .btn-info:focus {
color: var(--white);
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-info-background) 80%, black), color-mix(in srgb, var(--btn-info-background-highlight) 80%, black));
}
.btn-inverse:hover, .btn-inverse:focus {
color: var(--white);
background-image: linear-gradient(to bottom, color-mix(in srgb, var(--btn-inverse-background) 80%, black), color-mix(in srgb, var(--btn-inverse-background-highlight) 80%, black));
} }
/* Focus state for keyboard and accessibility */ /* Focus state for keyboard and accessibility */

22
css/caret.css Normal file
View File

@ -0,0 +1,22 @@
/*
Caret
========================================
*/
/* Define the caret appearance */
.caret {
display: inline-block;
width: 0;
height: 0;
vertical-align: middle;
border-top: 4px solid;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: "";
}
/* Upside down caret for dropup */
.dropup .caret {
border-top: 0;
border-bottom: 4px solid;
}

View File

@ -1,5 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<title>Buttons &middot; Bootstrap</title> <title>Buttons &middot; Bootstrap</title>
@ -37,7 +38,8 @@
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group dropup"> <div class="btn-group dropup">
<button class="btn btn-primary">Dropup</button> <button class="btn btn-primary">Dropup</button>
<button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span
class="caret"></span></button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="#">Action</a></li> <li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li> <li><a href="#">Another action</a></li>
@ -48,7 +50,8 @@
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group dropup"> <div class="btn-group dropup">
<button class="btn btn-danger">Dropup</button> <button class="btn btn-danger">Dropup</button>
<button class="btn btn-danger dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <button class="btn btn-danger dropdown-toggle" data-toggle="dropdown"><span
class="caret"></span></button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="#">Action</a></li> <li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li> <li><a href="#">Another action</a></li>
@ -59,7 +62,8 @@
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group dropup"> <div class="btn-group dropup">
<button class="btn btn-warning">Dropup</button> <button class="btn btn-warning">Dropup</button>
<button class="btn btn-warning dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <button class="btn btn-warning dropdown-toggle" data-toggle="dropdown"><span
class="caret"></span></button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="#">Action</a></li> <li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li> <li><a href="#">Another action</a></li>
@ -70,7 +74,8 @@
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group dropup"> <div class="btn-group dropup">
<button class="btn btn-success">Dropup</button> <button class="btn btn-success">Dropup</button>
<button class="btn btn-success dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <button class="btn btn-success dropdown-toggle" data-toggle="dropdown"><span
class="caret"></span></button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="#">Action</a></li> <li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li> <li><a href="#">Another action</a></li>
@ -92,7 +97,8 @@
</div><!-- /btn-group --> </div><!-- /btn-group -->
<div class="btn-group dropup"> <div class="btn-group dropup">
<button class="btn btn-inverse">Dropup</button> <button class="btn btn-inverse">Dropup</button>
<button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span
class="caret"></span></button>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
<li><a href="#">Action</a></li> <li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li> <li><a href="#">Another action</a></li>
@ -106,8 +112,7 @@
</div> <!-- /container --> </div> <!-- /container -->
<!-- Le javascript <!-- Le javascript ================================================== -->
================================================== -->
<!-- Placed at the end of the document so the pages load faster --> <!-- Placed at the end of the document so the pages load faster -->
<script src="../../docs/assets/js/jquery.js"></script> <script src="../../docs/assets/js/jquery.js"></script>
<script src="../../docs/assets/js/bootstrap-transition.js"></script> <script src="../../docs/assets/js/bootstrap-transition.js"></script>
@ -124,4 +129,5 @@
<script src="../../docs/assets/js/bootstrap-typeahead.js"></script> <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
</body> </body>
</html> </html>