• HTML连载84-添加中部的图片


    一、设置图片居中margin:0 auto;这个语法没有效果,对其父元素使用text-align:center;也是没有用的,因为图片太大了,解决方式如下:

    如果图片的宽度大于了父元素的宽度,不可能使用margin:0 auto;或者text-align:center;来使图片居中

    如果图片的宽度大于父元素的宽度,可以使用定位流,来使得图片居中,但是定位流的弊端也是比较明显

    弊端:1.需要写三行代码;2.必须知道图片的宽度;

    还有一种方法:margin:0 -100%; 注意点:父元素必须设置text-align:center;

     
    
    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title>Title</title>
    
        <link rel="stylesheet" href="CSS/base.css">
    
        <link rel="stylesheet" href="CSS/index.css">
    
    </head>
    
    <body>
    
    <!--顶部区域-->
    
    <div class="top">
    
        <div class="top_in">
    
            <div class="top_left">
    
                <h1><a href="#" title="努比亚"></a></h1><!--a标签里面的title属性,就是用于当鼠标放到a标签上面的时候会显示的文字-->
    
            </div>
    
            <div class="top_right">
    
                <ul class="top_nav">
    
                    <li><a href="#">首页</a></li>
    
                    <li><a href="#">商城</a></li>
    
                    <li><a href="#">产品</a></li>
    
                    <li><a href="#">应用</a></li>
    
                    <li><a href="#">服务</a></li>
    
                    <li><a href="#">体验店</a></li>
    
                    <li><a href="#">社区</a></li></ul>
    
                <ul class="top_login">
    
                    <!--这里有一个注意点,我们想要使用的右浮动,所以三个li标签应该倒叙写,因为先写的先浮动哦-->
    
                    <li><a href="#">注册</a></li>
    
                    <li><a href="#">登录</a></li>
    
                    <li><a href="#"></a></li>
    
                </ul>
    
            </div>
    
        </div>
    
    </div>
    
    <!--广告区域-->
    
    <div class="banner">
    
        <div class="nav_out">
    
            <div class="nav">
    
                <ul>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                </ul>
    
            </div>
    
        </div>
    
        <div class="figure">
    
            <img src="image/banner.png" alt="">
    
        </div>
    
        <div class="video"></div>
    
    </div>
    
    <!--内容区域-->
    
    <div class="content"></div>
    
    <!--底部区域-->
    
    <div class="footer"></div>
    
    </body>
    
    </html>
     
    
    <!DOCTYPE html>
    
    <html lang="en">
    
    <head>
    
        <meta charset="UTF-8">
    
        <title>Title</title>
    
        <link rel="stylesheet" href="CSS/base.css">
    
        <link rel="stylesheet" href="CSS/index.css">
    
    </head>
    
    <body>
    
    <!--顶部区域-->
    
    <div class="top">
    
        <div class="top_in">
    
            <div class="top_left">
    
                <h1><a href="#" title="努比亚"></a></h1><!--a标签里面的title属性,就是用于当鼠标放到a标签上面的时候会显示的文字-->
    
            </div>
    
            <div class="top_right">
    
                <ul class="top_nav">
    
                    <li><a href="#">首页</a></li>
    
                    <li><a href="#">商城</a></li>
    
                    <li><a href="#">产品</a></li>
    
                    <li><a href="#">应用</a></li>
    
                    <li><a href="#">服务</a></li>
    
                    <li><a href="#">体验店</a></li>
    
                    <li><a href="#">社区</a></li></ul>
    
                <ul class="top_login">
    
                    <!--这里有一个注意点,我们想要使用的右浮动,所以三个li标签应该倒叙写,因为先写的先浮动哦-->
    
                    <li><a href="#">注册</a></li>
    
                    <li><a href="#">登录</a></li>
    
                    <li><a href="#"></a></li>
    
                </ul>
    
            </div>
    
        </div>
    
    </div>
    
    <!--广告区域-->
    
    <div class="banner">
    
        <div class="nav_out">
    
            <div class="nav">
    
                <ul>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                    <li><a href="#"><img src="image/nav-phone1.png" alt=""></a></li>
    
                </ul>
    
            </div>
    
        </div>
    
        <div class="figure">
    
            <img src="image/banner.png" alt="">
    
        </div>
    
        <div class="video"></div>
    
    </div>
    
    <!--内容区域-->
    
    <div class="content"></div>
    
    <!--底部区域-->
    
    <div class="footer"></div>
    
    </body>
    
    </html>
    /*顶部区域*/
    
    .top{
    
        height:60px;
    
        100%;/*也就是和父元素一样宽,这里使用百分比的形式,使得网页扩大减小都不会变形*/
    
        background-color: black;
    
    ​
    
    }
    
    .top .top_in{
    
         1200px;
    
        margin:0 auto;
    
        height:100%;
    
        /*background-color: yellow;*/
    
    }
    
    .top  .top_left{
    
        float:left;
    
        height:100%;
    
        190px;
    
        /*background-color: pink;*/
    
    }
    
    .top .top_left>h1{
    
         100%;
    
        height: 100%;
    
    ​
    
    }
    
    .top .top_left>h1>a{
    
        display: inline-block;
    
         100%;
    
        height: 100%;
    
        background:url("../image/nubia_logo.png");
    
        background-size: 190px 60px;/*设置图片大小正好适配div块的大小*/
    
    }
    
    .top .top_right{
    
        float:right;
    
        height: 100%;
    
         800px;
    
        /*background-color: pink;*/
    
    }
    
    .top .top_nav{
    
        float:left;
    
        550px;
    
        height: 100%;
    
        /*background-color: skyblue;*/
    
    ​
    
    ​
    
    }
    
    .top .top_nav>li{
    
        float:left;
    
        list-style: none;
    
    }
    
    .top .top_nav>li>a{
    
        font-size:25px;
    
        font-weight: bold;/*给文字加粗*/
    
        line-height:60px;
    
        color:white;/*文字的颜色,直接是color*/
    
        margin-left:20px;/*这是给文字添加空隙*/
    
        text-decoration:none;/*去掉文字的下划线*/
    
    }
    
    /*.top .top_nav>li>a:hover{!*移动鼠标上去变化颜色*!*/
    
        /*color:#e82c07;*/
    
    /*}*/
    
    .top .top_login{
    
        float:right;
    
         150px;
    
        height: 100%;
    
        /*background-color: skyblue;*/
    
    }
    
    .top .top_login>li{
    
        list-style: none;
    
        float:right;
    
        margin-right:10px;
    
    }
    
    .top .top_login>li>a{
    
        font-size:20px;
    
        font-weight:bold;
    
        line-height:60px;
    
        color:white;
    
    ​
    
        text-decoration:none;
    
    }
    
    .top ul>li>a:hover{/*移动鼠标上去变化颜色*/
    
        color:#e82c07;
    
        /*这里我们使用.top ,top_login>li>a:hover而使用了ul来替代top_login这个可以说是代码的重构,我们希望
    
        li标签里的文字鼠标悬浮都变色,这样我们把父层级一改,可以省略代码,在后续编程中这些都是隐形的小技巧
    
         */
    
    }
    
    .top .top_login>li:nth-child(3){
    
         30px;
    
        height: 37px;
    
        background:url("../image/nubia_person.png");
    
        margin-top:10px;
    
    }
    
    ​
    
    /*广告区域*/
    
    .banner{
    
        height: 800px;
    
         100%;
    
        /*background-color: green;*/
    
    }
    
    /*内容区域*/
    
    .content{
    
        height: 1883px;
    
         100%;
    
        background-color: blue;
    
    }
    
    .banner .nav_out{
    
        background-color: white;
    
        height: 157px;
    
         100%;
    
    }
    
    ​
    
    .banner .nav{
    
         1200px;
    
        height: 157px;
    
        /*margin:0 auto;*//*这里我们想要居中这个模块,但是我们把定位流变成了绝对定位,所以就不管用了*/
    
        /*background:pink;*/
    
        position:absolute;/*只所所以改成绝对定位流,就是想要让这个盒子脱标,这样就可以让nav这个盒子悬浮在下个盒子上面*/
    
        left:50%;/*通过这种方式来进行居中盒子,靠左边的一边,然后利用一半的宽度-600px进行回退*/
    
        margin-left:-600px;
    
        background:white;
    
    }
    
    .banner .nav>ul{
    
        100%;
    
        height:100%;
    
        /*background:yellow;*/
    
        padding-left: 75px;
    
        padding-right:75px;
    
        box-sizing:border-box;/*上面使用了内边距,这里是为了不让大盒子变形*/
    
    }
    
    .banner .nav>ul>li{
    
         150px;
    
        height:100%;
    
        /*background:purple;*/
    
        float:left;/*之所以变成浮动流,是因为li会独占一行,这样会占有七行,浮动流可以使它水平排版了*/
    
        /*border:1px solid black;*/
    
        box-sizing:border-box;/*为了就是不用因为边框而使得盒子变大变小*/
    
        list-style: none;
    
    }
    
    .banner .nav>ul>li:hover{
    
        border-bottom:3px red solid;
    
        box-sizing:border-box;
    
    }
    
    .banner .nac>ul>li image{
    
        150px;
    
        height:157px;
    
    }
    
    .banner .figure{
    
         100%;
    
        height: 600px;
    
        /*background:red;*/
    
        overflow:hidden:/*隐藏图片的滚动条*/
    
    }
    
    .banner .figure>img{
    
        /*margin:0 auto;这个语法没有效果,对其父元素使用text-align:center;也是没有用的,因为图片太大了,解决方式如下:*/
    
        /*如果图片的宽度大于了父元素的宽度,不可能使用margin:0 auto;或者text-align:center;来使图片居中*/
    
        /*如果图片的宽度大于父元素的宽度,可以使用定位流,来使得图片居中,但是定位流的弊端也是比较明显*/
    
        /*弊端:1.需要写三行代码;2.必须知道图片的宽度;*/
    
        /*还有一种方法:margin:0 -100%; 注意点:父元素必须设置text-align:center;*/
    
        1200px;
    
        position:absolute;
    
        margin-left:570px;
    
        /*如果图片太长而多了一个滚动条,那么可以在父元素的CSS代码中添加overflow属性*/
    
    }
    
    ​
    
    .banner .video{
    
         1200px;
    
        height: 250px;
    
        margin: 0 auto;
    
        margin-top: 10px;
    
        /*background:skyblue;*/
    
    }
    
    ​
    
    /*底部区域*/
    
    .footer{
    
    ​
    
    }

    二、源码:

    1.项目:Nubia

    地址:

    https://github.com/ruigege66/HTML_learning/tree/master/Nubia

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包

     

  • 相关阅读:
    vue中使用$router.push跳转新页面
    08、TypeScript 装饰器
    07、TypeScript 命名空间
    06、TypeScript 类型、接口、类、泛型 综合使用,封装一个操作数据库的库
    Java课程总结
    Java第六次上机
    Java第三次上级
    Java第一次上机
    Java第二次实训
    Java第五次上机
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12741709.html
Copyright © 2020-2023  润新知