css - 图像的 HTML 5 对齐

标签 css html alignment imagesource

我正在尝试让 4 张图像与它们下方居中的文本对齐。我已经能够让它们靠近,但它们仍然稍微对齐。我仍在努力掌握 HTML 5 的诀窍,并试图找到其他一些遇到同样问题但运气不佳的人。自从我碰壁以来,任何建议都会很棒。我将附上我的页面的屏幕截图。

#navigation {
  height: 40px;
  font-size: 20px;
  font-family: Verdana;
  font-weight: bold;
  text-align: center;
  background-color: #000000;
}

main {
  margin: 0 210px 0 160px;
  padding: 1px 10px 20px 10px;
  background-color: #FFFFFF;
  display: block;
  color: #000000
}

body {
  background-color: #FFFFFF;
  margin: 0;
}

header {
  background-color: #000000;
  color: #FFFFFF;
  text-align: right;
  box-sizing: border-box;
  display: block;
  height: 120px;
  padding: 0 20px;
  border-bottom: 2px solid;
}

aside {
  display: block;
  box-sizing: border-box;
  float: right;
  width: 150px;
}

footer {
  display: block;
  box-sizing: boreder-box;
  font-size: .70em;
  color: #FFFFFF;
  background-color: #000000 padding-top: 10px;
  clear: both;
}

#container {
  background-color: #969696;
  color: #000000;
  min-width: 960px;
  font-family: Verdana, Arial, sans-serif;
}

#navigation ul {
  height: auto;
  padding: 5px 20px;
  margin: 1px;
}

#navigation li {
  display: inline;
  padding: 50px;
}

#navigation a {
  text-decoration: none;
  color: #FFFFFF;
}

body {
  background-color: #969696;
}

side {
  display: block;
  box-sizing: border-box;
  float: right;
  width: 150px;
}

#rose {
  overflow: hidden;
}

.imageContainer {
  float: left;
  margin-right: 250px;
  margin-left: 20px;
}

p {
  text-align: center;
}

.imageContainer2 {
  float: center;
  margin-right: 250px;
  margin-left: 20px;
}

p {
  text-align: center;
}
<!DOCTYPE html >
<html lang="en">

<head>
  <title>St. Pete Flower Market</title>
  <meta charset="utf-8">
  <link rel="stylesheet" href="test.css">
</head>

<body>
  <div id="container">
    <header role="banner">
      <span><a href="#search">Search</a></span>
      <h1>St. Pete Flower Market</h1>

    </header>
    <nav>
      <div id="navigation">
        <ul>
          <li><a class="navigation" href="index.html">Home</a></li>
          <li><a class="navigation" href="contact.html">Contact Us</a></li>
          <li><a class="navigation" href="occasions.html">Occasions</a></li>
          <li><a class="navigation" href="flowers.html">Flowers</a></li>
          <li><a class="navigation" href="giftbaskets.html">Gift Baskets</a></li>
          <li><a class="navigation" href="deals.html">Deals</a></li>
          <li><a class="navigation" href="aboutus.html">About Us</a></li>
        </ul>
      </div>
    </nav>

    <section id="side">

    </section>
    <aside role="complementary">
    </aside>

    <main>
      <div id="rose">
        <h1><img src="roses.jpg" width="100%" height="300px">
      </div>
      </h1>
      <div class="image123">
        <div class="imageContainer">
          <img src="sunnydays.jpg" height="300" width="300" />
          <p>This is image 1</p>
        </div>
        <div class="imageContainer">
          <img class="middle-img" src="flowerdeal.jpg" / height="300" width="300" />
          <p>This is image 2</p>
        </div>

      </div>

      < <div class="image1234">
        <div class="imageContainer2">
          <img src="sunnydays.jpg" height="300" width="300" />
          <p>This is image 1</p>
        </div>
        <div class="imageContainer2">
          <img class="middle-img" src="flowerdeal.jpg" / height="300" width="300" />
          <p>This is image 2</p>
        </div>







    </main>

    <footer> fjiefjwiofjewfjiewofjewo</footer>

  </div>
</body>

</html>

enter image description here

最佳答案

您的代码中存在一些错误: div #rose 内的 h1 标签实际上在其外部关闭。首先考虑去掉 h1 标签,除非你需要一个带有顶部图像的标题。 类似的错误是 div class="image1234"在主标记外关闭。

我的解决方案(似乎工作正常)是摆脱两个图像容器的 css,添加一个外部 div 并将其 css 设置为 display:flex;并证明内容:周围的空间; 对我有用

<div id="newDiv">
  <div class="image123">
    <div class="imageContainer">
      <img src="sunnydays.jpg" height="300" width="300" />
      <p>This is image 1</p>
    </div>
    <div class="imageContainer">
      <img class="middle-img" src="flowerdeal.jpg" / height="300" width="300" />
      <p>This is image 2</p>
    </div>

  </div>

    <div class="image1234">
      <div class="imageContainer2">
      <img src="sunnydays.jpg" height="300" width="300" />
      <p>This is image 1</p>
    </div>
    <div class="imageContainer2">
      <img class="middle-img" src="flowerdeal.jpg" / height="300" width="300" />
      <p>This is image 2</p>
    </div>
  </div>
</div>

CSS:

#newDiv {
   display:flex;
   content: space-around;
   }

查看此处了解更多信息: https://www.w3schools.com/css/css3_flexbox.asp

关于css - 图像的 HTML 5 对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48633714/

相关文章:

html - @media 查询不适用于不同的视口(viewport)大小

css - 如何在控制行内使用标签

html - 在 HTML/CSS 中,你能像在背景中一样在前景中重复图像吗?

HTML 拆分表格单元格而不是使用 colspan

ios - 如何将 UILabel 文本与框的垂直中心对齐

html - 具有异常边框的部分

javascript - Bootstrap 模式中的谷歌地图灰屏

html - 正确缩进html中的有序列表

html - 如何在 <tr> 中居中对齐 <td>?

asp.net - 下拉列表垂直居中对齐