gpt4 book ai didi

css - 打开左侧面板并自动对齐表格时平滑过渡

转载 作者:行者123 更新时间:2023-12-04 03:36:13 26 4
gpt4 key购买 nike

我是 CSS 新手。下面是我的要求。我需要单击按钮打开左侧面板,

下面是 codepen 中的工作示例。 https://codepen.io/angularjai/pen/eYgzXdy

table, th, td {
border: 1px solid black;
}

#id {
width:20%;
}
<html !DocType>
<head>
<title> Test </title>
</head>
<body>
<button>Click Me</button>
<hr>
<div id=leftside>
<p> Some contents here
</div>
<div >
<table width=80%>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>

</table>
</div>
</body>
</html>

要求。我需要打开一个左侧的 div。打开和关闭时过渡应该是平滑的。

请帮忙

最佳答案

给你:

document
.getElementById("button")
.addEventListener("click", function openAndCloseSideBar() {
if (
document.getElementById("sidebar").className === "close-sidebar" ||
document.getElementById("sidebar").className === "sidebar"
)
document.getElementById("sidebar").className = "open-sidebar";
else document.getElementById("sidebar").className = "close-sidebar";
});
table,
th,
td {
border: 1px solid black;
}

#id {
width: 20%;
}

.main {
display: flex;
}

.sidebar {
background-color: gray;
transform: translate(-150%);
}

.open-sidebar {
background-color: gray;
animation: open-animation 2s forwards;
}

.close-sidebar {
background-color: gray;
animation: close-animation 2s forwards;
}

@keyframes open-animation {
from {
transform: translateX(-150%);
}

to {
transform: translateX(0);
}
}

@keyframes close-animation {
from {
transform: translateX(0);
}

to {
transform: translateX(-150%);
}
}
<!DOCTYPE html>
<head>
<title>Test</title>
</head>
<body>
<div class="main">
<div id="sidebar" class="sidebar">Side bar</div>
<div>
<button id="button">Click Me</button>
<hr />
<div id="leftside"></div>
<div>
<table width="80%">
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Jill</td>
<td>Smith</td>
<td>50</td>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
</div>
</div>
</div>
</body>
</html>

本质上,每次单击按钮时我都会添加一个类,该类的开头有一个动画,用于隐藏和显示边栏。

还有许多其他方法可以实现这一点,如果您希望正确的部分也具有动画效果,则可以使用 flex。

关于css - 打开左侧面板并自动对齐表格时平滑过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66848596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com