• 水平导航条的制作


    原文发表于我自己的服务器www.jjxiaoliu.cn;不过这个服务器我可能不打算续费了,所以搬到cnblogs来。

    导航条(导航菜单)基本上就是带链接的列表,所以<ul>列表标签无疑是个自然的选择;然而这并不是必须的——事实上在整个制作过程中几乎没有使用到列表标签的特性。所以我们的例子完全不使用列表标签。

    首先,水平导航条总是占据一整行,所以我们用<div>包围之;其次,我们用<span>包围每个菜单项;最后,每个菜单项都是一个<a>。注意这里的<span>其实是可以不用的;我们使用<span>仅仅是为了语法上看起来更自然一点(将<span>作为<a>的容器,类似于用<li>作为<a>的容器)。、

    首先是菜单内容:

    <div class="menu">
        <span class="item"><a href="#">File</a></span><!-- 
     --><span class="item"><a href="#">Edit</a></span><!-- 
     --><span class="item"><a href="#">View</a></span><!-- 
     --><span class="item"><a href="#">Help</a></span>
    </div>

    注意这里我们在相邻菜单项之间都使用了HTML注释,以使得浏览器认为所有菜单项文字(<span>标签)之间没有空格和换行,避免浏览器在相邻菜单项之间插入额外空格,造成菜单项的换行。

    接着我们设计相关的CSS。首先是整个菜单条:

    .menu {
        /* 指定最小宽度,
           避免当缩小浏览器窗口时菜单项之间发生重叠 . */
        min-width: 400px;
        /* 导航栏占据整个浏览器窗口宽度 */
        width: 100%;
        /* 居中显示 */
        margin: 0 auto;
    }

    如果是用html列表标签制作,我们这里还要指定<li>的display属性为inline,以使得所有列表项显示在同一行,但对于span来说就不必了。接下来设定<a>标签的style。注意这里不是设置span标签的style;因为这里span标签只是个容器,真正响应用户鼠标或键盘事件的是a标签。

    .menu .item a {
        font-size:24px;
        /* 我们希望能设定链接的padding等属性,
           以便将菜单项显示为一个“块”,
           因此设置显示方式为inline-block */
        display: inline-block;
        padding:4px 4px 4px 4px;
        /* 后面我们需要设置每个菜单项的显示宽度占比,
           因此设置box-sizing为border-box。 */
        box-sizing: border-box;
        /* 有4个菜单项,因此每个项宽度为25%(包含padding)。 */
        /* 如果我们上面没有设置box-sizing,
           这里加上padding后总宽度就会超过100% */
        width: 25%;
        text-align: center;
        text-decoration: none;
        background-color: #FF0000;
        color: #000000;
    }

    核心的东西就上面这么多了。剩下的就是修改链接样式的常规工作了。

  • 相关阅读:
    局域网主机A向主机B发送ip数据报的过程
    用户使用浏览器访问万维网经历的步骤
    sql
    PMP:总概
    LINQ
    下拉框
    PMP:项目采购管理
    PMP:项目风险管理
    PMP:沟通管理。相关方管理
    PMP:项目资源管理
  • 原文地址:https://www.cnblogs.com/byeyear/p/10719706.html
Copyright © 2020-2023  润新知