图片和文字互相对齐的问题

新手上路,请多包涵

我希望图片和文字能够相互对齐(PC端),如下图:

clipboard.png

(使用 flex 后不能顶端对齐,采用 inline-block 并且 vertical-align:middle;也不行......一直都显示如下图)

clipboard.png

代码如下,HTML 部分:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>A test</title>
    <link rel="stylesheet" href="css/style.css">
  </head>
  <body>
    <header>
      <h1>MY FAVOURITE APP</h1>
    </header>

    <div class="app">
      <div class="image">
        <img src="images/app.png" alt="picture">
      </div>
      <div class="description">
        <p>
          In ac ipsum quis turpis adipiscing commodo. <em>Mauris fermentum quam</em> in risus eleifend fringilla. Aliquam placerat, ipsum sit amet cursus rhoncus, augue mi tincidunt erat, et consequat velit massa a velit. Cras eleifend lectus nec diam ornare, eu placerat mi ultricies. Etiam tempor iaculis feugiat. Ut tincidunt tempus libero non convallis. Morbi consequat eros eget elit porta porta. Curabitur placerat eros dui, vitae lobortis sapien laoreet ac. Maecenas a lacus diam. Morbi ante lectus, ornare sed suscipit at, tempus elementum purus. Suspendisse sodales hendrerit pharetra. Integer odio risus, convallis eu egestas ad, venatis nec leo. ac ipsum quis turpis adipiscing commodo. <em>Mauris fermentum quam</em> in risus eleifend fringilla. <a href="#">Aliquam placerat</a>, ipsum sit amet cursus rhoncus, augue mi tincidunt erat, et consequat velit massa a velit. Cras eleifend lectus nec diam ornare, eu placerat mi ultricies. Etiam tempor iaculis feugiat. Ut tincidunt tempus libero non convallis. Morbi consequat eros eget elit porta porta. Curabitur placerat eros dui, vitae lobortis sapien laoreet ac. Maecenas a lacus diam. Morbi ante lectus, ornare sed suscipit at, tempus elementum purus. Suspendisse sodales hendrerit pharetra. Integer odio risus, convallis eu egestas ac, venenatis nec leo.
        </p>
      </div>
    </div>

  </body>
</html>

CSS 部分:

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  }

h1 {
  color: white;
  background-color: #33BEBE;
}

.app {
    display: -webkit-flex;
    display: flex;
}

.description {
  padding-left: 20px;
  color: #7C8B88;
  max-width: 705px;
}

.image {
  max-width: 460px;
}
阅读 4.2k
3 个回答

首先 你要保证默认元素的margin 去掉(reset)

* {
    margin: 0;
    }

flex 有一套对齐的标准参数。

  .app {
      align-items: start;
  }

可以给两个元素设置display: table-cell, vertical-align:top。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题