身无彩凤“双飞翼”,心有灵犀一点通

身无彩凤“双飞翼”,心有灵犀一点通。

当我第一次在css课程中见“双飞翼”这三个字我就想到这句诗,一开始我也不知道,双飞翼和CSS能有啥关联,知道学完了才恍然大悟。

首先先按词想象,双飞翼不就是两个翅膀么~

那大概就是无论吃得多胖,两个翅膀永远不变,肚子在变大变小!

效果图献上:

接下来就来一步一步实现吧!

首先是html部分,需要一个大div,里面分别放三个div,依次是center、left、right。为啥第一次要放center? 一开始我也很奇怪,不过到最后明白是为了优先加载!

<div class="container">
        <div class="center">
            大肚腩高丽头!
        </div>
        <div class="left">这是我的左翅膀!</div>
        <div class="right">这是我的右翅膀!</div>
</div>

接下来就是双飞翼的第一步:浮动

给三个div添加float:left;属性是它们浮动起来;

双飞翼的羽翼也需要设置下,为了让它们保持不动,设置宽度为固定在,此时设为300px,同时给最外层加宽度,设置为1000px,还有清一下浮动,把overflow设置为hidden即可;

此时为这样:

额~好像不太行,没事,咱继续~

第二步:水平

首先给center的宽度设置100%,此时会发现center占满一行,把其他两个挤下去了,此时就需要负margin来让它们处于同一水平线!left的margin-left设为-100%,right的margin-left设为-300px(300px的取值是根据宽度决定的);

代码如下:

        .container {
            border: 1px solid #000;
            width: 1000px;
            margin: 0px auto;
            overflow: hidden;
        }
        
        .center {
            float: left;
            background: yellow;
            width: 100%;
        }
        
        .left {
            float: left;
            background: green;
            width: 300px;
        }
        
        .right {
            float: left;
            background: pink;
            width: 300px;
        }

这次看下效果:

有点意思了,但是中间的文字被挡住了,接下来就来解决掉!

第三步:加div

解决的方法就是在center的div标签内部再加一个div,把文字放进去,设置margin为左右两列的宽度即可;

这下对了,既然说中间变化两边不变,那么就测试一下把,把最外层的设置为800px、1500px;

可以可以,中间变,两侧不变,满足要求,完成!

(完)