主页
  • 新闻
  • 小言_互联网的博客

    前端实例练习

    374人阅读  评论(0)

    前端学习知识点博客学习路线一

    1.导航栏

    实现效果如下:

    1.1 垂直导航栏:

         1. 要一个链接,所以首先用<ul>、<li>和<a>标签,有:

    <ul>
       <li><a href="#">主页</a></li>
       <li><a href="#">新闻</a></li>
       <li><a href="#">联系</a></li>
       <li><a href="#">关于</a></li>
    </ul>
    

    效果如下:

         2. 删除边距和和填充,同时每一行前面的标识也要删除:

    ul{
       
       list-style-type: none;
       margin: 0;
       padding: 0;
    }
    

    说明:
    list-style-type: none;-移除列表前小标志。一个导航栏并不需要列表标记。
    效果如下:

         3.然后对链接进行样式修改,使得链接以一个块出现

    a{
       
      display:block;
      width:60px;
      text-decoration: none;
    }
    /* 鼠标移动到选项上修改背景颜色 */
    a:hover {
       
        background-color: #555;
        color: white;
    }
    

    说明:
    display:block - 显示块元素的链接,让整体变为可点击链接区域(不只是文本),它允许我们指定宽度
    width:60px - 块元素默认情况下是最大宽度。我们要指定一个60像素的宽度。
    text-decoration: none; - 让链接文字没有文本装饰(之前是下划线)

    此时效果如下:

         4.对ul的大小和颜色进行设计,综合前面可以得到以下代码:

    ul {
       
        list-style-type: none;
        margin: 0;
        padding: 0;
        width: 200px;
        background-color: #f1f1f1;
    }
     
    li a {
       
        display: block;
        color: #000;
        padding: 8px 16px;
        text-decoration: none;
    }
     
    /* 鼠标移动到选项上修改背景颜色 */
    li a:hover {
       
        background-color: #555;
        color: white;
    }
    

    效果如下:

         5.进一步设计,使链接点了之后颜色变化,以及增加边框

    ul {
       
        border: 10px solid #555;
    }
    li {
       
        text-align: center;
        border-bottom: 5px solid #555;
    }
    /*最后一个就不需要边框了*/
    li:last-child {
       
        border-bottom: none;
    }
    /*点击之后的颜色*/
    a.active {
       
        background-color: #4CAF50;
        color: white;
    }
    /*当鼠标放在除了active类上的时候改变颜色*/
    a:hover:not(.active) {
       
        background-color: #555;
        color: white;
    }
    
    

    效果如下:

         5.最后我们让导航栏不能动,其他内容可以动。

    ul{
       
       height:20%;
       position: fixed; 
       overflow: auto; /* 如果导航栏选项多,允许滚动 */
    }
    

    效果如下:

         6.最后整合一下前面的,得到最开始效果图的代码:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>垂直导航栏</title>
    <style>
    body {
        
        margin: 0;
    }
    
    ul {
        
        list-style-type: none;
        margin: 0;
        padding: 0;
        width: 75%;
        background-color: #f1f1f1;
        position: fixed;
        height: 30%;
        overflow: auto;
    }
    
    li a {
        
        display: block;
        color: #000;
        padding: 8px 16px;
        text-decoration: none;
    }
    
    li a.active {
        
        background-color: #4CAF50;
        color: white;
    }
    
    li a:hover:not(.active) {
        
        background-color: #555;
        color: white;
    }
    </style>
    </head>
    <body>
    
    <ul>
      <li><a class="active" href="#">主页</a></li>
      <li><a href="#">新闻</a></li>
      <li><a href="#">联系</a></li>
      <li><a href="#">关于</a></li>
    </ul>
    
    </body>
    </html>
    

    1.2 水平导航栏:

         1.水平导航栏同垂直导航栏,增加浮动即可

    /*因为水平导航栏,关闭允许滑动*/
    ul{
       
       overflow:hidden;
    }
    /*每个li块都向左对齐*/
    li{
       
       float:left;
    }
    /*同时关于连接放在最右边*/
    <li style="float:righr"><a href="#">关于</a></li>
    

    效果如下:

         2.增加分割线,并且固定

    ul {
       
        position: fixed;
        top: 0;
        width: 100%;
    }
    /* 除了最后一个选项(last-child) 其他的都添加分割线 */
    li {
       
        border-right: 1px solid #bbb;
    }
     
    li:last-child {
       
        border-right: none;
    }
    

    效果如下:

         3.最后增加颜色、修改鼠标放在上面颜色等等,综合上面代码有:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>水平导航栏</title>
    <style>
    body {
        margin:0;}
    
    ul {
        
        list-style-type: none;
        margin: 0;
        padding: 0;
        overflow: hidden;
        background-color: #333;
        position: fixed;
        top: 0;
        width: 100%;
    }
    
    li {
        
        float: left;
    	border-right: 1px solid #bbb;
    }
     
    li:last-child {
        
        border-right: none;
    }
    
    
    li a {
        
        display: block;
        color: white;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
    }
    
    li a:hover:not(.active) {
        
        background-color: #111;
    }
    
    .active {
        
        background-color: #4CAF50;
    }
    </style>
    </head>
    <body>
    
    <ul>
      <li><a class="active" href="#home">主页</a></li>
      <li><a href="#news">新闻</a></li>
      <li><a href="#contact">联系</a></li>
      <li style="float:right"><a href="#about">关于</a></li>
    </ul>
    
    </div>
    </body>
    </html>
    

    效果如下:(个人觉得不加分割线更好看点)

    2.下拉菜单

    这部分比较简单,直接看代码,然后看效果图即可明白~
    基本上看注释就明白啦~

    <style>
    /* 下拉按钮样式 */
    .dropbtn {
        
        background-color: #4CAF50;
        color: white;
        padding: 16px;
        font-size: 16px;
        border: none;
        cursor: pointer;
    }
    
    /* 容器 <div> - 需要定位下拉内容 */
    .dropdown {
        
        position: relative;
        display: inline-block;
    }
    
    /* 下拉内容 (默认隐藏) */
    .dropdown-content {
        
        display: none;
        position: absolute;
        background-color: #f9f9f9;
        min-width: 160px;
        box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    }
    
    /* 下拉菜单的链接 */
    .dropdown-content a {
        
        color: black;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
    }
    
    /* 鼠标移上去后修改下拉菜单链接颜色 */
    .dropdown-content a:hover {
        background-color: #f1f1f1}
    
    /* 在鼠标移上去后显示下拉菜单 */
    .dropdown:hover .dropdown-content {
        
        display: block;
    }
    
    /* 当下拉内容显示后修改下拉按钮的背景颜色 */
    .dropdown:hover .dropbtn {
        
        background-color: #3e8e41;
    }
    </style>
    
    <div class="dropdown">
      <button class="dropbtn">下拉菜单</button>
      <div class="dropdown-content">
        <a href="#">下拉1</a>
        <a href="#">下拉2</a>
        <a href="#">下拉3</a>
      </div>
    </div>
    

    效果图:

    3.


    转载:https://blog.csdn.net/weixin_43901733/article/details/107247955
    查看评论
    * 以上用户言论只代表其个人观点,不代表本网站的观点或立场