导航栏中的内容是否可以充当按钮而不是链接

时间:2017-12-22 09:13:35

标签: javascript html css

我试图让我的按钮在菜单导航栏中简洁但我注意到导航栏中的大部分内容充当链接,我想将表存储在导航栏内的按钮中。我不知道这是可能的还是明智的。我真的很新............................................ ..................

<!DOCTYPE html>
<html>
<head>
<style>
body {
    font-family: 'Lato', sans-serif;
}

.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
     top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
    overflow-x: hidden;
    transition: 0.5s;
}

.overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block;
    transition: 0.3s;
}

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

 .overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

   @media screen and (max-height: 450px) {
   .overlay a {font-size: 20px}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
}
</style>
</head>
<body>

<div id="myNav" class="overlay">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;
</a>
  <div class="overlay-content">
    <a href="#">About</a>
    <a href="#">Services</a>
    <a href="#">Clients</a>
    <a href="#">Contact</a>
  </div>
</div>

 <h2>Fullscreen Overlay Nav Example</h2>
<p>Click on the element below to open the fullscreen overlay navigation menu.</p>
<p>In this example, the navigation menu will slide in, from left to right:
</p>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>

<script>
function openNav() {
document.getElementById("myNav").style.width = "50%";
}

function closeNav() {
document.getElementById("myNav").style.width = "0%";
}
</script>

</body>
</html>

4 个答案:

答案 0 :(得分:0)

请参阅,这里是我的工作片段,你可以根据你改变按钮类的颜色和填充/边距。

function openNav() {
document.getElementById("myNav").style.width = "50%";
}

function closeNav() {
document.getElementById("myNav").style.width = "0%";
}
.button {
    display: block;
    width: 115px;
    height: 25px;
    padding: 10px;
    text-align: center;
    border-radius: 5px;
    color: white;
    font-weight: bold;
    margin-left : 100px;
    margin-bottom:5px;
}
body {
    font-family: 'Lato', sans-serif;
}

.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
     top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
    overflow-x: hidden;
    transition: 0.5s;
}

.overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block;
    transition: 0.3s;
}



 .overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}

   @media screen and (max-height: 450px) {
   .overlay a {font-size: 20px}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
}
<!DOCTYPE html>


<div id="myNav" class="overlay">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;
</a>
  <div class="overlay-content">
    <a href="#" class="button">About</a>
    <a href="#" class="button">Services</a>
    <a href="#" class="button">Clients</a>
    <a href="#" class="button">Contact</a>
  </div>
</div>

 <h2>Fullscreen Overlay Nav Example</h2>
<p>Click on the element below to open the fullscreen overlay navigation menu.</p>
<p>In this example, the navigation menu will slide in, from left to right:
</p>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>

答案 1 :(得分:0)

这应该可以满足您的需求。将菜单链接更改为

<div class="overlay-content">
<button class="buttonStyle" href="#">About</button>
<button class="buttonStyle" href="#">Services</button>
<button class="buttonStyle" href="#">Clients</button>
<button class="buttonStyle" href="#">Contact</button>
</div>

然后将以下内容添加到您的样式中。

.buttonStyle {
padding: 8px;
text-decoration: none;
font-size: 36px;
color: #818181;
display: block;
transition: 0.3s;
background-color: transparent;
border: 0;
outline: 0; 
position: relative;
top: 25%;
width: 100%;
text-align: center;
margin-top: 30px;
}
.buttonStyle:hover {
color: #f1f1f1;
}

我们在此完成的所有内容都会将您的<a>代码更改为<button>代码,并为您的按钮设置样式,使其与您的文字链接相同。希望这会有所帮助。

编辑:您需要编辑媒体查询以再次添加响应性:)

&#13;
&#13;
<style>
body {
    font-family: 'Lato', sans-serif;
}

.overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
     top: 0;
    left: 0;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0, 0.9);
    overflow-x: hidden;
    transition: 0.5s;
}

.overlay-content {
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

.overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block;
    transition: 0.3s;
}

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

 .overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
}
.buttonStyle {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block;
    transition: 0.3s;
    background-color: transparent;
    border: 0;
    outline: 0; 
    position: relative;
    top: 25%;
    width: 100%;
    text-align: center;
    margin-top: 30px;
}
.buttonStyle:hover {
    color: #f1f1f1;
}

   @media screen and (max-height: 450px) {
   .overlay a {font-size: 20px}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
}
</style>
<body>

<div id="myNav" class="overlay">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;
</a>
  <div class="overlay-content">
    <a href="#">About</a>
    <button class="buttonStyle" href="#">Services</button>
    <button class="buttonStyle" href="#">Clients</button>
    <button class="buttonStyle" href="#">Contact</button>
  </div>
</div>

 <h2>Fullscreen Overlay Nav Example</h2>
<p>Click on the element below to open the fullscreen overlay navigation menu.</p>
<p>In this example, the navigation menu will slide in, from left to right:
</p>
<span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; open</span>

<script>
function openNav() {
document.getElementById("myNav").style.width = "50%";
}

function closeNav() {
document.getElementById("myNav").style.width = "0%";
}
</script>

</body>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

将.btn类添加到链接并添加一些样式。使用:活动选择器,您可以像标准按钮一样添加点击效果 - 例如:插入阴影。

.overlay a.btn {
    background: #818181;
    color: #fff;
    display: inline-block;
    font-weight: 600;
    font-size: 36px;
    line-height: 36px;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    border-radius: 6px;
    padding: 17px;
    text-transform: uppercase;
    text-decoration: none;
    white-space: normal;
}
.overlay a.btn:active {
    box-shadow: inset 0px 0px 8px rgba(0,0,0,.7);
}

<a href="#" class="btn">About</a>

答案 3 :(得分:0)

如果您因某些原因不想保留链接,可以这样做:

<!DOCTYPE>

<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
</head>
<body>
    <a href="http://www.google.com" onclick="hRefClick(event);">alikn</a>
</body>
</html>
<script>
    function hRefClick(event){
        event.preventDefault();
        alert("redirection prevented");
    }
</script>