我有一个快速响应的网站,我正在使用☰
来显示汉堡图标,但它与手机浏览器和uc浏览器等浏览器不兼容,所以我想使用HTML,CSS制作响应式汉堡图标
正如我所说,我希望它具有响应性,所以我不想使用静态宽度和高度,我希望它可以根据屏幕大小进行更改,我正在使用媒体查询。
有使用以下html的想法:
<div class='navigation-icon'>
<span></span>
<span></span>
<span></span>
</div>
然后每个<span>
用于制作一个汉堡图标图层。
答案 0 :(得分:1)
嗯......如果您想使用CDN,我建议您使用http://fontawesome.io/或https://cdnjs.com/libraries/font-awesome。
这是一个包含许多花哨的响应图标的库,适用于所有浏览器。
答案 1 :(得分:1)
请看一下。
$(document).ready(function(){
$('#nav-icon1').click(function(){
$(this).toggleClass('open');
});
});
* {
margin: 0;
padding: 0;
}
/* Icon 1 */
#nav-icon1, #nav-icon2, #nav-icon3, #nav-icon4 {
width: 60px;
height: 45px;
position: relative;
margin: 50px auto;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transition: .5s ease-in-out;
-moz-transition: .5s ease-in-out;
-o-transition: .5s ease-in-out;
transition: .5s ease-in-out;
cursor: pointer;
}
#nav-icon1 span, #nav-icon3 span, #nav-icon4 span {
display: block;
position: absolute;
height: 9px;
width: 100%;
background: #333;
border-radius: 9px;
opacity: 1;
left: 0;
-webkit-transform: rotate(0deg);
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
transform: rotate(0deg);
-webkit-transition: .25s ease-in-out;
-moz-transition: .25s ease-in-out;
-o-transition: .25s ease-in-out;
transition: .25s ease-in-out;
}
#nav-icon1 span:nth-child(1) {
top: 0px;
}
#nav-icon1 span:nth-child(2) {
top: 18px;
}
#nav-icon1 span:nth-child(3) {
top: 36px;
}
#nav-icon1.open span:nth-child(1) {
top: 18px;
-webkit-transform: rotate(135deg);
-moz-transform: rotate(135deg);
-o-transform: rotate(135deg);
transform: rotate(135deg);
}
#nav-icon1.open span:nth-child(2) {
opacity: 0;
left: -60px;
}
#nav-icon1.open span:nth-child(3) {
top: 18px;
-webkit-transform: rotate(-135deg);
-moz-transform: rotate(-135deg);
-o-transform: rotate(-135deg);
transform: rotate(-135deg);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="nav-icon1">
<span></span>
<span></span>
<span></span>
</div>
答案 2 :(得分:1)
.navigation-icon span {
display: block;
width: 25px;
height: 5px;
margin: 5px;
background-color: #000;
}
<div class='navigation-icon'>
<span></span>
<span></span>
<span></span>
</div>
答案 3 :(得分:0)
您可以在响应式广场内托管您的图标,如下所示:
HTML:
<div class="square">
<div class='navigation-icon'>
<span></span>
<span></span>
<span></span>
</div>
</div>
CSS:
.square
{
position: relative;
margin: auto;
width: 100%; <== This will determine the size of your square and therefore of the elements in it, as long as their size is specified in % as well.
}
.square:before
{
content: "";
display: block;
padding-top: 100%; <== Leave this as is.
}
上面的css代码将构成一个完美的正方形,它将适应嵌套的任何大小。方块内的任何东西都需要设置为position:absolute。或者正方形将变成矩形。
答案 4 :(得分:0)
试试这个。
<div class=menu></div>
<div class=menu></div>
<div class=menu></div>
.menu {
width: 35px;
height: 5px;
background-color: black;
margin: 6px 0;
}