- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为我的网站创建了滑入/滑出侧边导航。它工作得很好,就像现在一样,但我希望让网站与侧边栏一起移动(类似于:http://demo.agnidesigns.com/fortune/demo15/)。目前它只是移出网站。
我想也许我可以添加一个切换类列表函数,它将向左移动的部分与侧边栏的宽度相同(左:280 像素),但不太明白如何将其包含在 JS 中。但是,我确信这将是与我现有的用于侧边导航切换的 JS 类似的方法。
<nav>
<div id="sidebar">
<div class="toggle-btn" onclick="toggleSidebar()">
<div id="navBar">
<div id="navBtn">
<img id="navLogo" src="resources/img/logo-white.svg">
</div>
<div id="navText">
<h2>Menu</h2>
</div>
<ul class="social-links">
<li><a href="#" target="_blank"><i class="icon ion-logo-facebook"></i></a></li>
<li><a href="#" target="_blank"><i class="icon ion-logo-twitter"></i></a></li>
<li><a href="#" target="_blank"><i class="icon ion-logo-instagram"></i></a></li>
</ul>
</div>
</div>
<ul>
<li><a href="#overview"><h2>Who Are We</h2></a></li>
<li><a href="#web"><h2>Services</h2></a></li>
<li><a href="#drone"><h2>UAV</h2></a></li>
</ul>
</div>
</nav>
<section class="section-overview new-section__whitetwothird" id="overview">
<div class="row">
<h2>Some Text</h2>
</div>
</section>
CSS
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
color: #555;
font-family: 'Lato', sans-serif;
font-weight: 300;
font-size: 7px;
text-rendering: optimizeLegibility;
overflow-x: hidden;
}
h2 {
font-weight: 400;
text-transform: uppercase;
font-family: 'Lato', sans-serif;
font-size: 180%;
word-spacing: 2px;
margin-bottom: 15px;
letter-spacing: 1px;
}
.new-section__whitetwothird {
padding: 5%;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
position: relative;
background-color: #fff;
min-height: 66.66vh;
width: calc(100vw - 80px);
left: 80px;
}
#sidebar {
position: fixed;
width: 200px;
height: 100vh;
background: #000;
left: -200px;
transition: 0.4s;
z-index: 1;
}
#sidebar.active {
left: 0;
z-index: 1;
}
#sidebar a {
list-style: none;
color: #fff;
font-size: 100%;
text-decoration: none;
color: #fff;
}
#navText h2:first-of-type{
padding: 0;
}
#sidebar h2 {
padding: 20px;
}
#navBar .icon {
font-size: 17px;
padding: 0;
}
.social-links {
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin: 14px 0;
text-align: center;
color: #fff;
}
.social-links li {
display: block;
font-size: 15px;
color: #fff;
margin: 15% 0 0 0;
}
#sidebar .toggle-btn {
position: absolute;
left: 200px;
}
#navBar {
width: 80px;
background-color: #000;
height: 100vh;
top: 0;
z-index: 2000;
}
#navBar #navLogo {
margin: 25%;
}
img {
border: 0;
vertical-align: middle;
display: inline-block;
}
#navText {
position: absolute;
top: 45%;
left: 0;
right: 0;
bottom: 45%;
margin: 40% 0;
text-align: center;
transform: rotate(-90deg);
color: #fff;
}
JS
function toggleSidebar() {
document.getElementById('sidebar').classList.toggle('active');
}
https://codepen.io/caitlinmooneyx/pen/BEpBzZ
我很好奇是否必须创建一个新函数,或者我是否可以使用 else if 扩展我的 toggleSidebar?
我已经尝试将 toggleSection() 添加到该部分,但由于边栏已经连接到另一个功能,它完全停止工作,以及尝试添加 .section.active 类(因为我试图重新创建与#sidebar.active 相同:
.section.active {
left: 280px;
}
基本上左边:280px 是我在边栏打开/事件时试图实现的。
如果这看起来很傻,请原谅,我是 JS 的新手,仍在学习它是如何工作的,并且在网上找不到任何关于我想要实现的目标。
最佳答案
您可以简单地添加到现有的 toggleSidebar()
函数上,通过将 left
属性添加到新的 .new-section__whittwothird--active< 来偏移内容
类(您可以修改类名以更好地适合您的元素)
更新:我已经添加了一个 querySelectorAll 和一个循环来添加类在一个页面上有多个具有相同名称的类的事件中(我之前的回答只是 querySelector
)有无穷无尽的添加循环的方法我选择了旧方法而不是新版本以获得更好的浏览器支持。
function toggleSidebar() {
document.getElementById("sidebar").classList.toggle("active");
var sections = document.querySelectorAll(".new-section__whitetwothird"),i;
for (i = 0; i < sections.length; ++i) {
sections[i].classList.toggle("new-section__whitetwothird--active");
}
}
* {
margin: 0;
padding: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html,
body {
color: #555;
font-family: 'Lato', sans-serif;
font-weight: 300;
font-size: 7px;
text-rendering: optimizeLegibility;
overflow-x: hidden;
}
h2 {
font-weight: 400;
text-transform: uppercase;
font-family: 'Lato', sans-serif;
font-size: 180%;
word-spacing: 2px;
margin-bottom: 15px;
letter-spacing: 1px;
}
.new-section__whitetwothird {
padding: 5%;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
position: relative;
background-color: #fff;
min-height: 66.66vh;
width: calc(100vw - 80px);
left: 80px;
transition:.5s ease;
}
.new-section__whitetwothird--active {
left:280px;
}
#sidebar {
position: fixed;
width: 200px;
height: 100vh;
background: #000;
left: -200px;
transition: 0.4s;
z-index: 1;
}
#sidebar.active {
left: 0;
z-index: 1;
}
#sidebar a {
list-style: none;
color: #fff;
font-size: 100%;
text-decoration: none;
color: #fff;
}
#navText h2:first-of-type{
padding: 0;
}
#sidebar h2 {
padding: 20px;
}
#navBar .icon {
font-size: 17px;
padding: 0;
}
.social-links {
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin: 14px 0;
text-align: center;
color: #fff;
}
.social-links li {
display: block;
font-size: 15px;
color: #fff;
margin: 15% 0 0 0;
}
#sidebar .toggle-btn {
position: absolute;
left: 200px;
}
#navBar {
width: 80px;
background-color: #000;
height: 100vh;
top: 0;
z-index: 2000;
}
#navBar #navLogo {
margin: 25%;
}
img {
border: 0;
vertical-align: middle;
display: inline-block;
}
#navText {
position: absolute;
top: 45%;
left: 0;
right: 0;
bottom: 45%;
margin: 40% 0;
text-align: center;
transform: rotate(-90deg);
color: #fff;
}
<nav>
<div id="sidebar">
<div class="toggle-btn" onclick="toggleSidebar()">
<div id="navBar">
<div id="navBtn">
<img id="navLogo" src="resources/img/logo-white.svg">
</div>
<div id="navText">
<h2>Menu</h2>
</div>
<ul class="social-links">
<li><a href="#" target="_blank"><i class="icon ion-logo-facebook"></i></a></li>
<li><a href="#" target="_blank"><i class="icon ion-logo-twitter"></i></a></li>
<li><a href="#" target="_blank"><i class="icon ion-logo-instagram"></i></a></li>
</ul>
</div>
</div>
<ul>
<li><a href="#overview"><h2>Who Are We</h2></a></li>
<li><a href="#web"><h2>Services</h2></a></li>
<li><a href="#drone"><h2>UAV</h2></a></li>
<li><a href="#about"><h2>About Us</h2></a></li>
<li><a href="#hire"><h2>Studio Hire</h2></a></li>
<li><a href="#contact"><h2>Contact Us</h2></a></li>
</ul>
</div>
</nav>
<section class="section-overview new-section__whitetwothird" id="overview">
<div class="row">
<h2>Some Text</h2>
</div>
</section>
关于javascript - 滑入/滑出导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55589661/
我希望单击菜单项时,div 将从右向左滑动,然后打开关闭选项(滑回到右侧) 例如:http://www.cortac.com/ 有什么想法、演示链接等可以实现这一点吗? 我发现这个与上面的很接近,但不
使用 jQuery 效果,我有一个层,其中包含一组 HTML(显示效果很好)。 单击按钮时,它会滑出 ($n).show('blind', { direction: left }, 1000); 这
我有三列,我希望外部两列在刷新时平滑滑出,然后当鼠标进入左/右边缘时,特定列滑回。 这是 fiddle :https://jsfiddle.net/3362xu89/ 这是 jQuery 代码: va
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this q
CSS #overlay{ position: fixed; top: 0; right: 0; bottom: 0; left: 0; backgro
我正在尝试制作一个简单的响应式网页,将水平菜单导航转变为移动设备的滑入式侧面板。我取得了很大进步,但我不确定如何始终(在窄屏幕上)保持选项卡触发器可见。如果我将定位设置为“固定”,则选项卡触发器不会随
所以,我目前正在一个网站上练习网络开发,但遇到了一些小问题。我希望能够单击图像“搜索图标”,然后让我的文本字段滑出,它确实如此,但它没有聚焦并准备好供用户输入。当我添加焦点事件时它起作用了,但它失去了
我在显示和隐藏文本框时遇到问题。 您可以在以下位置看到它的工作:http://jsfiddle.net/CVPSg/ 问题: 我要点击About并显示 来自屏幕左侧(显示:无) 然后,我要关闭与 Cl
滑出没问题我唯一的问题是滑入没有出现,我认为它没有捕捉到他们的第一个 IF 宽度等于 0px。抱歉,我对 jQuery 真的一窍不通。 代码: $(document).ready(function
这个问题涉及如何滑出一个 div,现在可以正常工作了。 但是——我早该预见到这一点——div 在相对于页面左上角的位置滑出。我将我的正文标签设置为 1200 像素(更改它不是我需要的布局的选项)。我需
我正在尝试让灰色面板滑出。我希望在其他彩色面板滑入之前单击“目标 1”或“目标 2”或“目标 3”时整个 div(灰色背景)滑出。然后当您单击“主菜单链接”时在灰色面板滑入之前,整个彩色面板应该滑出(
我正在尝试编写一个与图像类似的滑动菜单:https://chustynka.pl/ 我已经有了随时间变化的组件(带有箭头),唯一剩下的就是动画。我添加了有用的类和 ID,但我不知道如何使用 css 为
我有一个 div,我想使用 .show("slide", { direction: "left"}, 1000); 幻灯片显示效果很好,我遇到的问题是滑出 div 的顶部有上边距,但在 div 完全显
我是编码新手,需要 jQuery 方面的帮助。我有 2 s(一个带有图像,另一个带有菜单列表,均为 50% 宽度),我需要能够单击其中一个菜单选项以使新的 div(50% 宽度)从右侧出现,同时缩小
我正在尝试使用 Transition + Transition 管理器将此 View 滑入和滑出,但是当点击隐藏按钮使 View GONE 时,它没有滑动动画。然而,显示按钮确实有滑动动画使 View
我有一个可以根据需要打开和关闭的内容 div,但我无法让内容 div 从底部滑入或滑出。我尝试使用 css 但我认为它的固定位置让我悲伤。默认情况下它应该是隐藏的,但默认情况下它会显示 $(".liv
我正在做一个标签式导航,这里是一个 example .现在,contens slidesUp/Down 但我希望它只是消失/出现。有什么想法吗? // When the document load
是否可以从屏幕上移除 View ?安卓 例如我有一些布局,其中包含3个布局; layout_1 layout_2 layout_3 是否可以点击 layout_1 并将其从屏幕上移开,您将收到可见 l
有人问我如何将 Canvas 导航菜单滑出 Lanyon来自 Jekyll 的 Poole 系列。我最初是从 this Scotch.io tutorial 学习如何制作 Canvas 外导航的。 ,
请参阅this link html btn 1 btn 2 btn 3 btn 4 CSS #slideout { background: #666; position
我是一名优秀的程序员,十分优秀!