为啥把i的绝对定位去掉就看不见它了

来源:2-3 页面顶部的开发(2)

慕仙2169824

2020-12-11 14:11:00

# 具体遇到的问题
http://img.mukewang.com/climg/5fd30d37094ececb19200903.jpg

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>慕云游商城 - 机票、酒店、旅游攻略</title>

    <meta name="Keywords" content="机票,酒店,旅游攻略,签证,出国,自由行">

    <meta name="Description" content="慕云游商城有10多年旅游行业经验,为您提供全方位旅游服务">

    <link rel="stylesheet" href="css/reset.css">

    <link rel="stylesheet" href="css/base.css">

    <link rel="stylesheet" href="css/css.css">


</head>


<body>

    <header class="site-head"><!--顶部黑绿白三个条-->

        <div class="top-bar"><!--最上面的黑色条-->

            <div class="center-wrap"> <!--版心-->

                <nav class="shortcut-links"><!--黑条左边内容-->

                    <ul>

                        <li><a href="">目的地</a></li>

                    </ul>


                    <ul>

                        <li><a href="">锦囊</a></li>

                    </ul>


                    <ul>

                        <li class="have-menu">

                            <a href="">社区</a>

                            <em class="arrow">

                                <b></b>

                                <i></i>

                            </em>

                        </li>

                        

                    </ul>



                    <ul>

                        <li><a href="">行程助手</a></li>

                    </ul>


                    <ul>

                        <li  class="have-menu"><a href="">商城</a></li>

                    </ul>


                    <ul>

                        <li  class="have-menu"><a href="">酒店·民宿</a></li>

                    </ul>


                    <ul>

                        <li><a href="">特价酒店</a></li>

                    </ul>

                </nav>

            </div>

        </div>

    </header>

</body>


</html>




CSS部分

/* 顶部黑绿白三个条的总高 */

.site-head{

    height150px;

}




/* 设置最上面的黑色条的基本样式 */

.site-head .top-bar{

    height32px;

    background-color#2A2A2A;

    color#FFFFFF ;

    line-height32px;

}


.site-head .top-bar a{

    colorwhite;

}


/* 黑条左边内容相对于黑条左浮动 */

.site-head .top-bar .shortcut-links{

    /* background-color: #bcbcbc; */

    floatleft;

}


/* 黑条左边内容相对于黑条左浮动----里面的选项依次左浮动,在一行排列 */

.site-head .top-bar .shortcut-links>ul{

    floatleft;

    margin-right18px;

    font-size14px;

}


/* 设置有下三角的选项为have-menu类,加右padding,留出空间让下三角浮动(元素可以在padding中浮动) */

.site-head .top-bar .shortcut-links>ul>.have-menu{

    padding-right12px;

    positionrelative;

}


.site-head .top-bar .shortcut-links .arrow {

    positionabsolute;

    width12px;

    height12px;

    /* background-color: orange; */

    right0;

    top50%;

    margin-top-6px;

    margin-right:-6px ;

}


.site-head .top-bar .shortcut-links .arrow b{

    /* position: absolute; */

    width7px;

    height7px;

    background-colororange;

    transform: rotate(45deg);

    

}


.site-head .top-bar .shortcut-links .arrow i{

    positionabsolute;

    width7px;

    height7px;

    background-color#2A2A2A;

    transform: rotate(45deg);

    top-2px;

}


写回答

1回答

好帮手慕张

2020-12-11

同学你好,问题回答如下:

1、因为i标签是行内元素,直接给行内元素设置宽高是不生效的(没有宽高,所以背景在页面上也显示不出来),并且i标签中没有任何东西,所有页面没有任何显示。

2、定位和浮动会让元素成为块级元素,这个可以特殊一下。同学的代码中,就是因为给元素设置了绝对定位,使它成为块级元素,所以宽高就会生效了,就能在页面中显示了。

3、b标签也是行内元素因此是同样的道理。

4、不设置绝对定位的话,也可以直接设置为块级元素来实现效果,例:

http://img.mukewang.com/climg/5fd33e530963cf9810870343.jpg

祝学习愉快!


1

0 学习 · 15276 问题

查看课程