如何在菜单切换按钮旁边对齐/定位文本

时间:2015-06-17 15:19:40

标签: html css

我有一个脚本可以创建出色的移动友好菜单。

我想在切换按钮旁边放置一些文字。

我不确定从哪里开始,我尝试在nav标签之前和之后添加文字。努力弄清楚如何在导航中定位文本

How my menu looks

[JSFiddle Code][2]

https://jsfiddle.net/85p3m6cr/

2 个答案:

答案 0 :(得分:1)

<nav id="nav" role="navigation">
  <a href="#nav" title="Show navigation">Show navigation</a>
  <a href="#" title="Hide navigation">Hide navigation</a>
  <ul class="clearfix">
  <li><a href="http://www.google.co.uk" target="new">Item 1</a></li>
  <li><a href="#">Item 2</a></li>
  <li><a href="#">Item 3</a></li>
  <li><a href="#">Item 4</a></li>
  <li><a href="#">Item 5</a></li>
  </ul>
    <div class="text-style">
        Text here
    </div>

  </nav>

CSS

   .text-style {
  position: absolute;
  top: 7px;
  left: 45px;
}

a {
text-decoration: none;
}
ul, li {
list-style: none;
margin: 0;
padding: 0;
}
#nav {
width: 60em; /* 1000 */
font-family: 'Open Sans', sans-serif;
font-weight: 400;
position: absolute;
top: 25%;
left: 50%;
margin-left: -30em; /* 30 480 */
}
#nav > a {
display: none;
}
#nav li {
position: relative;
}
#nav li a {
color: #fff;
display: block;
}
#nav li a:active {
background-color: #c00 !important;
}
#nav span:after {
width: 0;
height: 0;
border: 0.313em solid transparent; /* 5 */
border-bottom: none;
border-top-color: #efa585;
content: '';
vertical-align: middle;
display: inline-block;
position: relative;
right: -0.313em; /* 5 */
}
/* first level */

#nav > ul {
height: 3.75em; /* 60 */
background-color: #e15a1f;
}
#nav > ul > li {
width: 25%;
height: 100%;
float: left;
}
#nav > ul > li > a {
height: 100%;
font-size: 1.5em; /* 24 */
line-height: 2.5em; /* 60 (24) */
text-align: center;
}
#nav > ul > li:not( :last-child ) > a {
border-right: 1px solid #cc470d;
}
#nav > ul > li:hover > a, #nav > ul:not( :hover ) > li.active > a {
background-color: #cc470d;
}
/* second level */

#nav li ul {
background-color: #cc470d;
display: none;
position: absolute;
top: 100%;
}
#nav li:hover ul {
display: block;
left: 0;
right: 0;
}
#nav li:not( :first-child ):hover ul {
left: -1px;
}
#nav li ul a {
font-size: 1.25em; /* 20 */
border-top: 1px solid #e15a1f;
padding: 0.75em; /* 15 (20) */
}
#nav li ul li a:hover, #nav li ul:not( :hover ) li.active a {
background-color: #e15a1f;
}
 @media only screen and ( max-width: 62.5em ) /* 1000 */ {
#nav {
width: 100%;
position: static;
margin: 0;
}
}
 @media only screen and ( max-width: 40em ) /* 640 */ {
html {
font-size: 75%; /* 12 */
}
#nav {
position: relative;
top: auto;
left: auto;
}
#nav > a {
width: 3.125em; /* 50 */
height: 3.125em; /* 50 */
text-align: left;
text-indent: -9999px;
background-color: #e15a1f;
position: relative;
}
#nav > a:before, #nav > a:after {
position: absolute;
border: 2px solid #fff;
top: 35%;
left: 25%;
right: 25%;
content: '';
}
#nav > a:after {
top: 60%;
}
#nav:not( :target ) > a:first-of-type, #nav:target > a:last-of-type {
display: block;
}
/* first level */

#nav > ul {
height: auto;
display: none;
position: absolute;
left: 0;
right: 0;
}
#nav:target > ul {
display: block;
}
#nav > ul > li {
width: 100%;
float: none;
}
#nav > ul > li > a {
height: auto;
text-align: left;
padding: 0 0.833em; /* 20 (24) */
}
#nav > ul > li:not( :last-child ) > a {
border-right: none;
border-bottom: 1px solid #cc470d;
}
/* second level */

#nav li ul {
position: static;
padding: 1.25em; /* 20 */
padding-top: 0;
}

答案 1 :(得分:1)

我会使用:before attr并在菜单中断时添加它,因此它只显示所需的正确时间。

 #nav:before {
        content:"TEXT HERE";
        position: absolute;
        left: 3.5em;
        top: 50%;
        transform: translateY(-50%);
    }

https://jsfiddle.net/85p3m6cr/10/

&#13;
&#13;
$(function () {
    $('#nav li:has(ul)').doubleTapToGo();
});
&#13;
a {
    text-decoration: none;
}
ul, li {
    list-style: none;
    margin: 0;
    padding: 0;
}
#nav {
    width: 60em;
    /* 1000 */
    font-family:'Open Sans', sans-serif;
    font-weight: 400;
    position: absolute;
    top: 25%;
    left: 50%;
    margin-left: -30em;
    /* 30 480 */
}
#nav > a {
    display: none;
}
#nav li {
    position: relative;
}
#nav li a {
    color: #fff;
    display: block;
}
#nav li a:active {
    background-color: #c00 !important;
}
#nav span:after {
    width: 0;
    height: 0;
    border: 0.313em solid transparent;
    /* 5 */
    border-bottom: none;
    border-top-color: #efa585;
    content:'';
    vertical-align: middle;
    display: inline-block;
    position: relative;
    right: -0.313em;
    /* 5 */
}
/* first level */
 #nav > ul {
    height: 3.75em;
    /* 60 */
    background-color: #e15a1f;
}
#nav > ul > li {
    width: 25%;
    height: 100%;
    float: left;
}
#nav > ul > li > a {
    height: 100%;
    font-size: 1.5em;
    /* 24 */
    line-height: 2.5em;
    /* 60 (24) */
    text-align: center;
}
#nav > ul > li:not(:last-child) > a {
    border-right: 1px solid #cc470d;
}
#nav > ul > li:hover > a, #nav > ul:not(:hover) > li.active > a {
    background-color: #cc470d;
}
/* second level */
 #nav li ul {
    background-color: #cc470d;
    display: none;
    position: absolute;
    top: 100%;
}
#nav li:hover ul {
    display: block;
    left: 0;
    right: 0;
}
#nav li:not(:first-child):hover ul {
    left: -1px;
}
#nav li ul a {
    font-size: 1.25em;
    /* 20 */
    border-top: 1px solid #e15a1f;
    padding: 0.75em;
    /* 15 (20) */
}
#nav li ul li a:hover, #nav li ul:not(:hover) li.active a {
    background-color: #e15a1f;
}
@media only screen and (max-width: 62.5em)
/* 1000 */
 {
    #nav {
        width: 100%;
        position: static;
        margin: 0;
    }
}
@media only screen and (max-width: 40em)
/* 640 */
 {
    html {
        font-size: 75%;
        /* 12 */
    }
    #nav {
        position: relative;
        top: auto;
        left: auto;
    }
   /* ENTER YOUR TEXT INBETWEEN THE CONTENT: "" */
    #nav:before {
        content:"TEXT HERE";
        position: absolute;
        left: 3.5em;
        top: 50%;
        transform: translateY(-50%);
    }
    #nav > a {
        width: 3.125em;
        /* 50 */
        height: 3.125em;
        /* 50 */
        text-align: left;
        text-indent: -9999px;
        background-color: #e15a1f;
        position: relative;
    }
    #nav > a:before, #nav > a:after {
        position: absolute;
        border: 2px solid #fff;
        top: 35%;
        left: 25%;
        right: 25%;
        content:'';
    }
    #nav > a:after {
        top: 60%;
    }
    #nav:not(:target) > a:first-of-type, #nav:target > a:last-of-type {
        display: block;
    }
    /* first level */
    #nav > ul {
        height: auto;
        display: none;
        position: absolute;
        left: 0;
        right: 0;
    }
    #nav:target > ul {
        display: block;
    }
    #nav > ul > li {
        width: 100%;
        float: none;
    }
    #nav > ul > li > a {
        height: auto;
        text-align: left;
        padding: 0 0.833em;
        /* 20 (24) */
    }
    #nav > ul > li:not(:last-child) > a {
        border-right: none;
        border-bottom: 1px solid #cc470d;
    }
    /* second level */
    #nav li ul {
        position: static;
        padding: 1.25em;
        /* 20 */
        padding-top: 0;
    }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<nav id="nav" role="navigation"> <a href="#nav" title="Show navigation">Show navigation</a>
 <a href="#" title="Hide navigation">Hide navigation</a>

    <ul class="clearfix">
        <li><a href="http://www.google.co.uk" target="new">Item 1</a>
        </li>
        <li><a href="#">Item 2</a>
        </li>
        <li><a href="#">Item 3</a>
        </li>
        <li><a href="#">Item 4</a>
        </li>
        <li><a href="#">Item 5</a>
        </li>
    </ul>
</nav>
&#13;
&#13;
&#13;