美文网首页
顶部搜索块--两边固定,中间自适应

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

作者: 张思佳 | 来源:发表于2020-04-24 09:18 被阅读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布局,但是有兼容性,不推荐

    相关文章

      网友评论

          本文标题:顶部搜索块--两边固定,中间自适应

          本文链接:https://www.haomeiwen.com/subject/fcjbihtx.html