使用html和css制作水平导航栏nav

使用html和css制作水平导航栏nav使用html和css制作水平导航栏nav的方法及其效果:1、li设置float:left;(1)代码片段:…<style>*{margin:0;padding:0;}ul{list-style-type:none;marg

大家好,又见面了,我是你们的朋友全栈君。

使用html和css制作水平导航栏nav的方法及其效果:
1、li设置float:left;
(1)代码片段:

...
    <style>
        *{
            margin:0;
            padding:0;
        }
        ul{
            list-style-type:none;
            margin:100px 50px;/*margin:100px auto无效,不能使ul左右居中*/
            text-align:center;
            font-size:14px;
        }
        li{
            float:left;/*改动的地方*/
            width:80px;
            padding:10px;
            background-color:#ff9137;
        }
        a:link,a:visited,a:hover,a:active{
            color:#fff;
            text-decoration:none;
        }
        a{
            display:block;/*整体变为可点击区域,而不只是字*/
        }
    </style>
</head>
<body>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">News</a></li>
        <li><a href="#">Contact</a></li>
        <li><a href="#">About</a></li>
    </ul>
</body>
...

(2)呈现效果:
li{float:left;}
(3)备注:
①可对ul设置margin,但是设置为margin:100px auto时无法让ul居中
②ul所占高度为0。
③可对li设置width,自由调节宽度。
④可对li设置margin,使li之间有空白。
⑤可对a设置display:block;使整体变成可点击区域。
⑥如果想让链接有相同的大小,就必须用浮动,不能用display:inline;

2、li设置display:inline-block;
(1)代码片段:

...
<style>
        *{
            margin:0;
            padding:0;
        }
        ul{
            list-style-type:none;
            margin:100px;
            text-align:center;
            font-size:14px;
        }
        li{
            display:inline-block;/*改动的地方*/
            width:80px;
            padding:10px;
            background-color:#ff9137;
        }
        a:link,a:visited,a:hover,a:active{
            color:#fff;
            text-decoration:none;
        }
        a{
            display:block;
        }
    </style>
</head>
<body>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">News</a></li>
        <li><a href="#">Contact</a></li>
        <li><a href="#">About</a></li>
    </ul>
</body>
...

(2)呈现效果:
li{display:inline-block;}
(3)备注:
①对ul设置margin:100px auto;可让ul左右居中。
②即使li没有margin,各个li之间还是会有空白。
(aSuncat-20190809:可对父元素font-size设置0,子元素font-size设置成正常的,来消除空白)
③可对a设置display:block;使整体变成可点击区域。

3、li设置display:inline;
(1)代码片段:

...
    <style>
        *{
            margin:0;
            padding:0;
        }
        ul{
            list-style-type:none;
            margin:100px;/*margin:100px auto;可让ul左右居中*/
            text-align:center;
            font-size:50px;
        }
        li{
            display:inline;/*改动的地方*/
            padding:10px;
            background-color:#ff9137;
        }
        a:link,a:visited,a:hover,a:active{
            color:#fff;
            text-decoration:none;
        }
    </style>
</head>
<body>
    <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">News</a></li>
        <li><a href="#">Contact</a></li>
        <li><a href="#">About</a></li>
    </ul>
</body>
...

(2)呈现效果:
li{display:inline}
(3)备注:
①可对ul设置margin:100px auto,可使ul左右居中。
②即使li没有margin,各个li之间还是会有空白。
③不能对li设置width,即无法限定宽度。
④不能对a设置display:block;a会溢出,达不到我们想到的效果。
呈现效果如下:
a{display:block}的效果

4、li设置position:absolute;
(1)代码片段:

...
    <style>
        *{
            margin:0;
            padding:0;
        }
        ul{
            list-style-type:none;
            margin:100px 50px;
            text-align:center;
            font-size:14px;
            position:relative;
        }
        li{
            position:absolute;/*改动的地方*/
            top:0;
            width:80px;
            padding:10px;
            background-color:#ff9137;

        }
        .li1{
           left:0;
        }
        .li2{
            left:80px;
        }
        .li3{
            left:160px;
        }
        .li4{
            left:240px;
        }
        a:link,a:visited,a:hover,a:active{
            color:#fff;
            text-decoration:none;
        }
        a{
            display:block;/*整体变为可点击区域,而不只是字*/
        }
    </style>
</head>
<body>
<ul>
    <li class="li1"><a href="#">Home</a></li>
    <li class="li2"><a href="#">News</a></li>
    <li class="li3"><a href="#">Contact</a></li>
    <li class="li4"><a href="#">About</a></li>
</ul>
</body>
...

(2)呈现效果:
li{position:absolute;}
(3)备注:
①对ul设置position:relative,便于对li设置position;
②对li设置position:absolute; top:0;
③对不同li设置left ;这样可以让li在不同的位置显示出来,而不是全部堆叠在一起。
④最不推荐这种方法,得给每个li一个left,比较麻烦。

总结:个人比较喜欢用float:left;①各个li的宽度以及li之间的距离都可以自己设置,灵活性更高。②可对a设置display:block;使整体变成可点击区域,而不只是字可以点击。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141011.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 骑王之王

    骑王之王

    2021年6月19日
    97
  • 浙江python课程_浙江八年级新增Python编程课程!是谁将少儿编程推上风口?

    浙江python课程_浙江八年级新增Python编程课程!是谁将少儿编程推上风口?浙江消息,今年9月份开始的新学期,三到九年级信息技术课将同步替换新器材。其中,八年级将新增Python课程内容。新高一信息技术编程语言由VB替换为Python,大数据、人工智能、程序设计与算法按照教材规划五六年级开始接触。不得不说,在“少儿编程”这条路上,浙江省算是“死磕”到底了。早在2014年,浙江就发布了《浙江省深化高校考试招生制度综合改革试点方案》,方案提到:把信息技术(含编程)正式纳入高考…

    2022年5月17日
    47
  • GridLayout上动态添加控件「建议收藏」

    GridLayout上动态添加控件「建议收藏」Android上GridLayout和java上的感觉差不多,但是在添加布局内部添加控件就不是那么容易了。 grid=(GridLayout)findViewById(R.id.grid);//获取GridLayout控件 intcount=1; for(inti=0;i<6;i++) for(intj=0;j<5;j++){ System.out.pri

    2022年6月5日
    34
  • 分配空间不足问题

    分配空间不足问题

    2021年8月26日
    58
  • Python 获取窗口句柄,模拟鼠标点击

    Python 获取窗口句柄,模拟鼠标点击一、效果图二、代码importwin32guiimportwin32apiimportpyautogui#frompymouseimportPyMousehwnd_title={}defget_all_hwnd(hwnd,mouse):if(win32gui.IsWindow(hwnd)andwin32gui.IsWindowEnabled(hwnd)andwin32gui.IsWindowVisible(hwnd)

    2022年7月21日
    17
  • es数据库查询API「建议收藏」

    es数据库查询API「建议收藏」1.背景ES数据库是非关系型数据库2.ES数据库优点1.存储优化内存中使用有限状态机FST优化本质上是前缀树加上后缀树的结合,利用这个数据结构可以把Term更节省内存地放置并查询,它有着字典树的查询时间复杂度,但是由于做了后缀合并会更节约内存传统Bitmap优化使用Bitmap来记录文档的Id,每个bit对应一个文档,表示它是否存在。2.联合查询优化若要对多个t…

    2022年5月24日
    274

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号