javascript - Sidenav 覆盖固定在右上角

标签 javascript jquery html css

大家好,我正在尝试让固定在右上角的导航来自屏幕的右侧(从右到左的动画)。现在使用来自 w3school 的示例,我能够想出以下代码: HTML:

<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times; </a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776;</span>

SCSS:

#mySidenav {
height: 100%;
width: 0; 
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #111;
overflow-x: hidden;
padding-top: 60px;
transition: 0.5s; 
a {
    padding: 8px 8px 8px 32px;
    text-decoration: none;
    font-size: 25px;
    color: #818181;
    display: block;
    transition: 0.3s
}
a:hover, .offcanvas a:focus{
color: #f1f1f1;
}
.closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 55px;
    margin-left: 50px;
}

JS:

function openNav() {
document.getElementById('mySidenav').style.width = '300px';
}

function closeNav() {
document.getElementById('mySidenav').style.width = '0';
}

现在代码工作正常,这不是我的问题。我想让我的 sidenav 固定在右上角,动画从右到左,我所做的每一次尝试都完全失败了。所以我的问题是有可能做到这一点,你们会怎么做???? 这是我制作的 codepen 的链接,因此您可以查看实际代码 https://codepen.io/Karadjordje/pen/MpKvXp

最佳答案

left: 0; 更改为 right: 0;

工作示例:

function openNav() {
  document.getElementById('mySidenav').style.width = '300px';
}

function closeNav() {
  document.getElementById('mySidenav').style.width = '0';
}
.hamburger {
  font-size: 30px;
  cursor: pointer;
  top: 20px;
  right: 20px;
  position: fixed;
}

#mySidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
  background-color: #111;
  overflow-x: hidden;
  padding-top: 60px;
  transition: 0.5s;
}

#mySidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #818181;
  display: block;
  transition: 0.3s
}

#mySidenav a:hover,
#mySidenav .offcanvas a:focus {
  color: #f1f1f1;
}

#mySidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 55px;
  margin-left: 50px;
}

body {
  height: 200em;
  position: relative;
}
<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="#">About</a>
  <a href="#">Services</a>
  <a href="#">Clients</a>
  <a href="#">Contact</a>
</div>
<span class="hamburger" onclick="openNav()">&#9776;</span>

关于javascript - Sidenav 覆盖固定在右上角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42540846/

相关文章:

javascript - React-Native map 自定义CSS或样式

JavaScript 计算 2 个日期之间的年份和月份

javascript - 如何通过代码/脚本在 Firefox 中加载 PKCS#11 设备?

javascript - jQuery Sly 插件左力

javascript - 选择更改前不可见的 <选项> 文本

javascript - preg_match : javascript url string

javascript - 通过标签 html 中的照片列表进行更改

java - Extjs 无法读取属性错误

javascript - 如何通过 jQuery 将多个复选框数据发送到 PHP

javascript - html 5 canvas javascript 下雨动画(如何高效轻松地实现!)