提问者:小点点

如何使文本与窗体对齐?


我建立了一个标准的页脚,模仿Tourlife.com的页脚。 然而,我在instagram图片旁边的链接并没有与图片居中,链接“术语”和“帮助”也与表单不一致。 这是我第二次尝试使用W3School的“CSS方框网格/等宽方框”。

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <footer class="clearfix">
        <div class="box">
            <img class="ig_logo" src="images/instagramicon.jpg">
            <a href="#">@TOURLIFE</a>
        </div>
        <div class="box">
            <a class="biggertext" href="#">TERMS</a>
            <a class="biggertext" href="#">HELP</a>
            <form class="form">
                <input class="enter" type="email" placeholder="email">
                <button type="submit" class="button_1">SUBSCRIBE</button>
            </form>
        </div>
        <div class="box">
            <p>&copy Copyright Ben Cotta 2020</p>
        </div>
    </footer>
</body>
</html>

CSS:

* {
    margin: 0;
    padding: 0;
    text-decoration: none;
}

/* Main Footer */

.box {
    float: left;
    width: 33.33%;
    padding: 20px 0px;
    box-sizing: border-box;
    text-align: center;
    color: black;
    font-size: 13px;
    border-top: 1px solid black;
}

.clearfix::after {
    content: " ";
    clear: both;
    display: table;
}

.box .biggertext {
    font-size: 16px;
    padding: 0px 4px;
    margin-left: 6px;
}

.box a:visited {
    color: black;
}

.ig_logo {
    height: 100%;
    width: 20px;
}

/* Middle Box */

.form {
    float: right;
}

.enter {
    width: 10vw;
    margin-right: 10px;
    padding: 6px 10px;
}

.button_1 {
    background-color: black;
    color: white;
    padding: 6px 10px;
    width: 8vw;
    font-size: 12px;
    text-align: center;
}

/* Right Box */

共1个答案

匿名用户

用Flexbox做这件事要容易得多。

当你将你的框宽度设置为33.33%时,它不知道该引用什么。 如果你设置了你身体的高度,它会自动给你的屏幕100%的宽度,孩子对你的身体有一个参考。

通过键入“display:flexbox”,您在该类下的项目将排列成一行。 瞧! 通过使用“justify-content”,您可以决定如何分散您的项目,使用“align-items”,您可以将您的项目垂直居中。 但你必须给他们空间去做这件事。

你的Instagram图片不起作用,所以我加了一个新链接。 我觉得应该管用。

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Main Footer */
body {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: Arial, Helvetica, sans-serif;
}
.clearfix {
  border-top: 1px solid black;
  width: 80%;
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.box {
  display: flex;
  align-items: center;
}

.box a {
  text-decoration: none;
  padding-right: 10px;
  color: #000;
}
.button_1 {
  background-color: black;
  color: #fff;
  border: none;
  outline: none;
  padding: 10px;
}

.enter {
  padding: 8px 10px;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <link rel="stylesheet" href="/style.css" />
  </head>
  <body>
    <footer class="clearfix">
      <div class="box">
        <img src="https://img.icons8.com/fluent/48/000000/instagram-new.png" />
        <a href="#">@TOURLIFE</a>
      </div>
      <div class="box">
        <a class="biggertext" href="#">TERMS</a>
        <a class="biggertext" href="#">HELP</a>
        <form class="form">
          <input class="enter" type="email" placeholder="email" />
          <button type="submit" class="button_1">SUBSCRIBE</button>
        </form>
      </div>
      <div class="box">
        <p>&copy Copyright Ben Cotta 2020</p>
      </div>
    </footer>
  </body>
</html>

https://jsfiddle.net/battlexe/5rc9asn0/