我有这个按钮,它使用
bi-list
图标,将鼠标悬停在上面时会增加 5 像素。我喜欢这个,但我在尝试这样做时遇到的唯一问题是它还增加了按钮的大小,这反过来又完全破坏了我的导航栏的响应能力。如何设置按钮动态更改内部填充,以适应图标大小的变化?
未悬停在:
悬停在:
("use strict");
// Navbar Dropdown
$(".dropdown-toggle").click(function() {
$(this).next(".dropdown-menu").slideToggle(600);
});
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");
@import url("https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css");
header {
background: black;
}
/*navbar begin*/
.navbar {
height: 60px;
}
.navbar-brand {
--bs-navbar-brand-padding-y: 0px;
--bs-navbar-brand-margin-end: 0px;
}
.navbar-brand-text {
background: linear-gradient(to right, red, magenta, magenta, lime);
background-clip: text;
-webkit-text-fill-color: transparent;
background-size: 300% 100%;
background-position: left center;
transition: background 0.18s linear;
}
.navbar-brand:hover {
.navbar-brand-text {
background-position: 100% center;
}
}
.navbar-brand:focus {
outline: 2px solid #ffffff;
}
@media (max-width: 576px) {
.navbar-brand>.navbar-brand-text {
display: none;
}
}
@media (max-width: 370px) {
.navbar-brand {
display: none;
}
}
.navbar-toggler {
border-radius: 10px !important;
padding: 5px 10px !important;
}
.navbar-toggler:focus {
box-shadow: 0px 0px 0px 3px rgba(255, 0, 0, 0.7) !important;
}
.nav-link {
color: #808080;
transition: color linear 0.18s;
}
.nav-link:hover {
color: #ff00ff;
}
.nav-link:focus {
color: #ff00ff;
}
/*navbar end*/
/*dropdown begin*/
.dropdown-menu {
background: #111;
--bs-dropdown-min-width: 100px;
--bs-dropdown-border-radius: 10px;
--bs-dropdown-border-width: 2px;
--bs-dropdown-border-color: #ff0000;
}
.dropdown-menu a {
color: #808080;
transition: color linear 0.18s;
}
.dropdown-menu a:hover {
color: #ff00ff;
background-color: #111;
}
.dropdown-menu a:focus {
color: #ff00ff;
background-color: #111;
}
.dropdown-divider {
border-top: 1px solid #252424;
}
.dropdown-item:active {
background: #111 !important;
}
.dropdown-item:focus {
background-color: #111;
color: #ff00ff !important;
}
/*dropdown end*/
/* start icons */
.navbar-toggler .bi-list {
font-size: 30px;
color: #969696;
transition: font-size 0.18s linear, color 0.18s linear;
}
.navbar-toggler:hover {
.bi-list {
font-size: 35px;
color: #ff0000;
}
}
/* end icons */
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Cratex Studios</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous" />
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous" />
<link rel="icon" type="image/x-icon" href="assets/images/favicon.ico" />
<link href="assets/css/style.css" rel="stylesheet" />
</head>
<body>
<header>
<nav class="navbar navbar-dark bg-dark" aria-label="navbar">
<div class="container-fluid justify-content-between">
<button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#leftMainNav" aria-controls="leftMainNav" aria-label="Toggle left navigation">
<i class="bi-list"></i>
</button>
<a class="navbar-brand" href="index.php">
<img style="width: 30px" src="assets/images/logo-l.png" />
<span class="navbar-brand-text">Example Brand</span>
</a>
<div class="d-flex" style="width: 240px">
<ul class="navbar-nav">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" aria-expanded="false">Company</a>
<ul class="dropdown-menu position-absolute" style="top: 55px; width: 110px">
<li><a class="dropdown-item text-center" href="about.php">About Us</a></li>
<li>
<hr class="dropdown-divider" />
</li>
<li>
<a class="dropdown-item text-center" href="company/mission.php">Mission</a>
</li>
<li>
<hr class="dropdown-divider" />
</li>
<li>
<a class="dropdown-item text-center" href="company/partners.php">Partners</a>
</li>
<li>
<hr class="dropdown-divider" />
</li>
<li>
<a class="dropdown-item text-center" href="company/affiliates.php">Affiliates</a>
</li>
<li>
<hr class="dropdown-divider" />
</li>
<li>
<a class="dropdown-item text-center" href="company/legal.php">Legal Info</a>
</li>
<li>
<hr class="dropdown-divider" />
</li>
<li>
<a class="dropdown-item text-center" href="company/support.php">Support</a>
</li>
<li>
<hr class="dropdown-divider" />
</li>
<li><a class="dropdown-item text-center" href="company/team.php">Our Team</a></li>
</ul>
</li>
</ul>
<button type="button" class="btn btn-menu mt-1 ms-2 me-2" data-bs-toggle="modal" data-bs-target="#signupModal">
Sign Up
</button>
<button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#rightMainNav" aria-controls="rightMainNav" aria-label="Toggle right navigation">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="offcanvas offcanvas-end bg-dark" tabindex="-1" id="rightMainNav" aria-labelledby="rightMainNav">
<div class="offcanvas-header">
<button type="button" class="btn-close btn-close-white justify-content-end" data-bs-dismiss="offcanvas" aria-label="Close"></button>
<h5 class="offcanvas-title" id="rightMainNavLabel">Offcanvas</h5>
</div>
<div class="offcanvas-body justify-content-end">
<ul class="navbar-nav text-end">
<li class="nav-item">
<a class="nav-link active-link" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div>
</div>
<div class="offcanvas offcanvas-start bg-dark" tabindex="-1" id="leftMainNav" aria-labelledby="leftMainNav">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="leftMainNavLabel">Offcanvas</h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<ul class="navbar-nav d-flex">
<li class="nav-item">
<a class="nav-link active-link" aria-current="page" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div>
</div>
</div>
</nav>
</header>
</body>
这是我目前正在处理的左侧切换按钮。
我尝试过使用
scale()
和使用 calc()
功能。
感谢Cbroe,我已经弄清楚是什么阻止了它的工作。
scale()
函数不适用于内联元素。请务必将 display: inline-block
添加到您想要动态调整大小的任何图标。