html - Css 侧边导航过渡
问题描述
我有一个侧边导航栏,可以在单击按钮时扩展。
如果文本太长,当我打开侧面导航栏时,它首先显示为 2 行,然后当我们达到侧面导航的全宽时,它会显示为 1 行。
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
body {
font-family: "Lato", sans-serif;
}
.sidenav {
display:flex;
flex-direction: column;
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #111;
overflow-x: hidden;
transition: 0.5s;
padding-top: 60px;
}
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
}
.sidenav a:hover {
color: #f1f1f1;
}
.sidenav .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
.sidenav-item {
display:flex;
justify-content: center;
align-items: center;
}
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<div class="sidenav-item">
<img src="https://picsum.photos/35/35"/>
<a href="#">Toto user creation</a>
</div>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">☰ open</span>
在上面的示例中,当导航栏扩展“Toto 用户创建”时,首先显示为 3 行,然后最终显示为 2 行。我想直接显示在 2 行
我只为文本尝试了transition:none,但它不起作用。
根据文本的宽度使文本直接出现在 X 行上的任何想法?
解决方案
Give.sidenav-item
min-width: 250px;
并且文本不会在折叠时移动
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
body {
font-family: "Lato", sans-serif;
}
.sidenav {
display:flex;
flex-direction: column;
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #111;
overflow-x: hidden;
transition: 0.5s;
padding-top: 60px;
}
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
}
.sidenav a:hover {
color: #f1f1f1;
}
.sidenav .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
.sidenav-item {
display:flex;
justify-content: center;
align-items: center;
min-width: 250px;
}
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<div class="sidenav-item">
<img src="https://picsum.photos/35/35"/>
<a href="#">Toto user creation</a>
</div>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">☰ open</span>
推荐阅读
- ios - 如何shareDialog Facebook无法在swiftUI中工作
- javascript - 如何在不连接的情况下进行调度
- python - Beautiful Soup 只使用soup.select() 返回前10 个列表,这可能是什么问题?
- c# - 鼠标拖动操作失败。使用方法“mysql_native_password”向用户“root”验证主机“serverN”失败并显示消息:访问被拒绝
- python - 无法与在云中运行的 websocket 服务器建立连接
- android - 如何在 Kotlin 中为两种类型的数据类映射器使用通用扩展函数
- python - TypeError:'int' 对象不可下标?pow() 有问题吗?
- android - 在Android上单击KML中的标记时如何在标记内显示所需信息
- javascript - 为什么在 devtools 中复制样式会变得如此混乱?
- python - 将 pandas 数据框中的列表传递给 sklearn 以用于 TF IDF