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,127 +1,133 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head>
<meta charset="utf-8">
<title>Buttons &middot; Bootstrap</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<!-- Le styles --> <head>
<link href="..//bootstrap.css" rel="stylesheet"> <meta charset="utf-8">
<style> <title>Buttons &middot; Bootstrap</title>
body { <meta name="viewport" content="width=device-width, initial-scale=1.0">
padding-top: 30px; <meta name="description" content="">
padding-bottom: 30px; <meta name="author" content="">
}
</style>
<link href="../bootstrap-responsive.css" rel="stylesheet">
</head>
<body> <!-- Le styles -->
<link href="..//bootstrap.css" rel="stylesheet">
<style>
body {
padding-top: 30px;
padding-bottom: 30px;
}
</style>
<link href="../bootstrap-responsive.css" rel="stylesheet">
</head>
<div class="container"> <body>
<h2>Dropups</h2> <div class="container">
<div class="btn-toolbar">
<div class="btn-group dropup"> <h2>Dropups</h2>
<button class="btn">Dropup</button> <div class="btn-toolbar">
<button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <div class="btn-group dropup">
<ul class="dropdown-menu"> <button class="btn">Dropup</button>
<li><a href="#">Action</a></li> <button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<li><a href="#">Another action</a></li> <ul class="dropdown-menu">
<li><a href="#">Something else here</a></li> <li><a href="#">Action</a></li>
<li class="divider"></li> <li><a href="#">Another action</a></li>
<li><a href="#">Separated link</a></li> <li><a href="#">Something else here</a></li>
</ul> <li class="divider"></li>
</div><!-- /btn-group --> <li><a href="#">Separated link</a></li>
<div class="btn-group dropup"> </ul>
<button class="btn btn-primary">Dropup</button> </div><!-- /btn-group -->
<button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <div class="btn-group dropup">
<ul class="dropdown-menu"> <button class="btn btn-primary">Dropup</button>
<li><a href="#">Action</a></li> <button class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span
<li><a href="#">Another action</a></li> class="caret"></span></button>
<li><a href="#">Something else here</a></li> <ul class="dropdown-menu">
<li class="divider"></li> <li><a href="#">Action</a></li>
<li><a href="#">Separated link</a></li> <li><a href="#">Another action</a></li>
</ul> <li><a href="#">Something else here</a></li>
</div><!-- /btn-group --> <li class="divider"></li>
<div class="btn-group dropup"> <li><a href="#">Separated link</a></li>
<button class="btn btn-danger">Dropup</button> </ul>
<button class="btn btn-danger dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> </div><!-- /btn-group -->
<ul class="dropdown-menu"> <div class="btn-group dropup">
<li><a href="#">Action</a></li> <button class="btn btn-danger">Dropup</button>
<li><a href="#">Another action</a></li> <button class="btn btn-danger dropdown-toggle" data-toggle="dropdown"><span
<li><a href="#">Something else here</a></li> class="caret"></span></button>
<li class="divider"></li> <ul class="dropdown-menu">
<li><a href="#">Separated link</a></li> <li><a href="#">Action</a></li>
</ul> <li><a href="#">Another action</a></li>
</div><!-- /btn-group --> <li><a href="#">Something else here</a></li>
<div class="btn-group dropup"> <li class="divider"></li>
<button class="btn btn-warning">Dropup</button> <li><a href="#">Separated link</a></li>
<button class="btn btn-warning dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> </ul>
<ul class="dropdown-menu"> </div><!-- /btn-group -->
<li><a href="#">Action</a></li> <div class="btn-group dropup">
<li><a href="#">Another action</a></li> <button class="btn btn-warning">Dropup</button>
<li><a href="#">Something else here</a></li> <button class="btn btn-warning dropdown-toggle" data-toggle="dropdown"><span
<li class="divider"></li> class="caret"></span></button>
<li><a href="#">Separated link</a></li> <ul class="dropdown-menu">
</ul> <li><a href="#">Action</a></li>
</div><!-- /btn-group --> <li><a href="#">Another action</a></li>
<div class="btn-group dropup"> <li><a href="#">Something else here</a></li>
<button class="btn btn-success">Dropup</button> <li class="divider"></li>
<button class="btn btn-success dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <li><a href="#">Separated link</a></li>
<ul class="dropdown-menu"> </ul>
<li><a href="#">Action</a></li> </div><!-- /btn-group -->
<li><a href="#">Another action</a></li> <div class="btn-group dropup">
<li><a href="#">Something else here</a></li> <button class="btn btn-success">Dropup</button>
<li class="divider"></li> <button class="btn btn-success dropdown-toggle" data-toggle="dropdown"><span
<li><a href="#">Separated link</a></li> class="caret"></span></button>
</ul> <ul class="dropdown-menu">
</div><!-- /btn-group --> <li><a href="#">Action</a></li>
<div class="btn-group dropup"> <li><a href="#">Another action</a></li>
<button class="btn btn-info">Dropup</button> <li><a href="#">Something else here</a></li>
<button class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <li class="divider"></li>
<ul class="dropdown-menu"> <li><a href="#">Separated link</a></li>
<li><a href="#">Action</a></li> </ul>
<li><a href="#">Another action</a></li> </div><!-- /btn-group -->
<li><a href="#">Something else here</a></li> <div class="btn-group dropup">
<li class="divider"></li> <button class="btn btn-info">Dropup</button>
<li><a href="#">Separated link</a></li> <button class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
</ul> <ul class="dropdown-menu">
</div><!-- /btn-group --> <li><a href="#">Action</a></li>
<div class="btn-group dropup"> <li><a href="#">Another action</a></li>
<button class="btn btn-inverse">Dropup</button> <li><a href="#">Something else here</a></li>
<button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button> <li class="divider"></li>
<ul class="dropdown-menu"> <li><a href="#">Separated link</a></li>
<li><a href="#">Action</a></li> </ul>
<li><a href="#">Another action</a></li> </div><!-- /btn-group -->
<li><a href="#">Something else here</a></li> <div class="btn-group dropup">
<li class="divider"></li> <button class="btn btn-inverse">Dropup</button>
<li><a href="#">Separated link</a></li> <button class="btn btn-inverse dropdown-toggle" data-toggle="dropdown"><span
</ul> class="caret"></span></button>
</div><!-- /btn-group --> <ul class="dropdown-menu">
</div><!-- /btn-toolbar --> <li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</div><!-- /btn-group -->
</div><!-- /btn-toolbar -->
</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> <script src="../../docs/assets/js/bootstrap-alert.js"></script>
<script src="../../docs/assets/js/bootstrap-alert.js"></script> <script src="../../docs/assets/js/bootstrap-modal.js"></script>
<script src="../../docs/assets/js/bootstrap-modal.js"></script> <script src="../../docs/assets/js/bootstrap-dropdown.js"></script>
<script src="../../docs/assets/js/bootstrap-dropdown.js"></script> <script src="../../docs/assets/js/bootstrap-scrollspy.js"></script>
<script src="../../docs/assets/js/bootstrap-scrollspy.js"></script> <script src="../../docs/assets/js/bootstrap-tab.js"></script>
<script src="../../docs/assets/js/bootstrap-tab.js"></script> <script src="../../docs/assets/js/bootstrap-tooltip.js"></script>
<script src="../../docs/assets/js/bootstrap-tooltip.js"></script> <script src="../../docs/assets/js/bootstrap-popover.js"></script>
<script src="../../docs/assets/js/bootstrap-popover.js"></script> <script src="../../docs/assets/js/bootstrap-button.js"></script>
<script src="../../docs/assets/js/bootstrap-button.js"></script> <script src="../../docs/assets/js/bootstrap-collapse.js"></script>
<script src="../../docs/assets/js/bootstrap-collapse.js"></script> <script src="../../docs/assets/js/bootstrap-carousel.js"></script>
<script src="../../docs/assets/js/bootstrap-carousel.js"></script> <script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
<script src="../../docs/assets/js/bootstrap-typeahead.js"></script>
</body>
</body>
</html> </html>