我获得了打开菜单的一个按钮" m"的侧菜单,但是当打开菜单而不是10个按钮时,我会像b-button一样获得20个按钮,b是图像和按钮是文本。打开菜单时,它们需要是同一按钮,而不是2个单独的按钮,我知道它们是2个单独的按钮,但是只有在打开菜单时,我才能在什么方向上制作1个按钮
代码:
function MenuButton() {
if (document.getElementById("mySidenav").style.width == "150px")
{
document.getElementById("mySidenav").style.width = "0px";
}
else {
document.getElementById("mySidenav").style.width = "150px";
}
}
.sidenav {
height: 100%;
width: 0;
position: fixed;
top: 34px;
left: 49px;
z-index: 2;
background-color: #111;
overflow: hidden;
transition: 0.5s;
padding-top: 55px;
}
.sidenav a {
font-style: normal;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-weight: normal;
font-stretch: normal;
font-size: 25px;
line-height: 1;
padding: 8px 8px 8px 15px;
text-decoration: none;
display: block;
color: white;
transition: 0.3s;
white-space: nowrap;
}
.sidenav a:hover {
background-color: #3498db;
}
.buttons {
height: 100%;
width: 50px;
position: fixed;
margin: 0 auto;
top: 34px;
left: 0;
z-index: 1;
background-color: #111;
overflow: hidden;
transition: 0.5s;
padding-top: 14px;
}
.buttons a{
font-style: normal;
font-variant-ligatures: normal;
font-variant-caps: normal;
font-variant-numeric: normal;
font-weight: normal;
font-stretch: normal;
font-size:25px;
line-height: 1;
padding: 8px 8px 8px 15px;
text-decoration: none;
color: white;
display: block;
transition: 0.3s;
cursor: pointer;
}
.buttons a:hover{
background-color: #3498db;
}
<div id="mySidenav" class="sidenav">
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
</div>
<div id="buttonside" class="buttons">
<a><span onclick="MenuButton()">M</span></a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
<a>B</a>
</div>
jsfiddle链接
尝试将您的图标或图像包装到具有一定宽度的span
中,例如
function MenuButton() {
if (document.getElementById("buttonside").style.width == "150px") {
document.getElementById("buttonside").style.width = "50px";
} else {
document.getElementById("buttonside").style.width = "150px";
}
}
.sidenav {
background-color: #111;
overflow: hidden;
transition: 0.5s;
}
.sidenav a:hover {
background-color: #3498db;
}
.buttons {
width: 50px;
background-color: #111;
overflow: hidden;
transition: 0.5s;
padding-top: 14px;
}
.buttons a {
font-size: 25px;
line-height: 1;
padding: 8px 0px;
text-decoration: none;
color: white;
display: block;
transition: 0.3s;
cursor: pointer;
white-space: nowrap;
}
.buttons a span {
width: 50px;
display: inline-block;
text-align: center;
}
.buttons a:hover {
background-color: #3498db;
}
<div id="buttonside" class="buttons">
<a onclick="MenuButton()"><span>M</span></a>
<div id="mySidenav" class="sidenav">
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
<a><span>B</span>Link</a>
</div>
</div>