顶部搜索块--两边固定,中间自适应

2020-04-24  本文已影响0人  张思佳

实现一个经典的顶部搜索块,左边是logo图,中间是搜索框,右边是登录部分:

左右拉伸时,两边固定,中间自适应

一:使用margin实现

<!DOCTYPE html>

<html lang="en">

  <head>

    <meta charset="UTF-8" />

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

    <title>Document</title>

    <style>

      * {

        margin: 0;

        padding: 0;

      }

      .search {

        width: 100%;

        height: 40px;

        background-color: #eee;

      }

      .searchBox {

        /* 这时不能设置宽度 */

        margin: 0 100px;

        height: 100%;

        background-color: red;

      }

      .logo,

      .login {

        width: 100px;

        height: 100%;

        display: block;

      }

      .logo {

        background-color: blue;

      }

      .login {

        background-color: pink;

      }

    </style>

  </head>

  <body>

    <div class="search">

      <a href="javascript:;" class="logo"></a>

      <form action="" class="searchBox">

        <input type="text" />

      </form>

      <a href="javascript:;" class="login">登录</a>

    </div>

  </body>

</html>

这样的效果如下:

三个块级元素,就会在三行显示,那么怎么让他们在一行显示呢,首先想到的是给三个块级元素设置浮动,这是给三个元素添加浮动后的效果:

可以发现,加了float以后,中间表单的宽度就失效了,不再是父容器的100%了。

所以不能使用float实现,要使用定位的方式实现:


二:使用padding实现:

三:使用flex布局,但是有兼容性,不推荐

上一篇 下一篇

猜你喜欢

热点阅读