質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • HTML

    11518questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    7560questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

レイアウトを少し下に持っていきたい

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 150

Akaho

score 11

progateの中級道場コース(お手本のサイトを目指して作るコース)で
画像の手本のように下にずらしたいです。
float,positionタグを使わずに実現したいです。
イメージ説明

コード
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Progate</title>
  <link rel="stylesheet" type="text/css" href="stylesheet.css">
  <!-- ここでFont Awesomeを読み込んでください -->
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
</head>
<body>
  <!-- ここにコードを書いていきましょう -->
  <header>
    <div class="container">
      <div class="header-left">

      </div>
      <div class="header-right">

      </div>
    </div>


  </header>
  <div class="top-wrapper">
    <div class="container">
      <h1>LEARN TO CODE.<br>LEARN TO BE CREATIVE.
      </h1>
      <p>Progateはオンラインプログラミング学習サービスです。
        <br>
        初心者にやさしいスライドとレッスンで、ウェブサービスを作りながらプログラミングを学んでいきましょう。
      </p>
     <div class="sns-block">
      <a href="#" class="btn sign-up">新規登録はこちら</a>
      <p>or</p>
      <a href="#" class="btn facebook"><span class="fa fa-facebook"></span>Facebookで登録</a>
      <a href="#" class="btn twitter"><span class="fa fa-twitter"></span>Twitterで登録</a>
     </div>
    </div>
  </div>

</body>
</html>
コード
/* CSSのリセット(消さないでください) */
html, body,
ul, ol, li,
h1, h2, h3, h4, h5, h6, p, div {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Hiragino Kaku Gothic ProN W3', sans-serif;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

/* ここからCSSを書いていきましょう */
.top-wrapper{
  display:flex;
  justify-content:center;
  align-items:center;
  height:628px;
  width:1280px;
  padding-top:80px;
  padding-bottom:100px;
  background-image:url(https://prog-8.com/images/html/advanced/top.png);
  background-size:cover;
  text-align:center;

}
.container h1{
  font-size:45px;
  opacity:0.7;
  letter-spacing:5px;
  color:white;

}
.container p{
  font-size:16px;
  margin-bottom:15px;
  color:white;
}
.btn{
  padding:8px 24px;
  color:white;
  opacity:0.8;
  border-radius:4px;
}



.sign-up{
  background-color:#239b76;
  margin:15px 0px;

}
.facebook{
  background:#3b5998;
  margin-right:10px;
}
.twitter{
  background:#55acee;
}

追記
flexでレイアウトをせずに、paddingとmarginの調整をすると思った通りにレイアウトできた。

コード
/* CSSのリセット(消さないでください) */
html, body,
ul, ol, li,
h1, h2, h3, h4, h5, h6, p, div {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Hiragino Kaku Gothic ProN W3', sans-serif;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

/* ここからCSSを書いていきましょう */
.top-wrapper{
  height:580px;
  width:1280px;
  background-image:url(https://prog-8.com/images/html/advanced/top.png);
  background-size:cover;
  text-align:center;

}
.container h1{
  font-size:45px;
  opacity:0.7;
  letter-spacing:5px;
  color:white;
  font-weight:bold;
  padding-top:170px;
}
.container p{
  font-size:16px;
  margin-bottom:30px;
  color:white;
  opacity:0.7;
}
.btn{
  padding:8px 24px;
  color:white;
  opacity:0.8;
  border-radius:4px;
}



.sign-up{
  background-color:#239b76;
  margin:30px 0px 15px 0;


}
.facebook{
  background:#3b5998;
  margin-right:10px;
  margin-bottom:100px;
  margin-top:15px;
}
.twitter{
  background:#55acee;
}


イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • Akaho

    2019/05/15 21:13

    flexとgridはそれぞれ調べて
    理解しやすかったflexを今回の課題でも使っています。
    gridはまだ理解できていない状態です。
    補足
    自分としては調べてから投稿するようにしています。
    質問の仕方としては
    ここまでやってみたというのも載せていこうと思います。
    (今回はコードで、ある程度は教えてもらいながら自力で出来るところはやったんやろなと わかってくれるかなと思いました。)
    あと、個人的に思う事なんですが
    理解できないところが人それぞれ合って、それ調べていないんじゃないかと思われるレベルでつまずく人もいると思います。
    たぶんプログラミング が分かっている人は調べかたのコツ、その能力もあるから 丸投げ質問と思われるんだろなと感じてます。
    そういうことなので、丸投げではないです。

    キャンセル

  • miyabi_takatsuk

    2019/05/15 21:22

    > ここまでやってみたというのも
    そうですね、これがあるだけで、だいぶ質問の印象が良くなり、回答を得られやすいと思いますよ。

    わかりました。
    回答させていただきますので、しばしお待ち下さい。

    キャンセル

  • mts10806

    2019/05/17 08:04

    今さらですけど質問編集して調べたこと試したことを追記すれば良いだけかと思います。
    「これをこうしたい。「コード」」だけだとおおよそ誰が見ても丸投げな印象となるので、質問の仕方の問題です。
    何も書いてないと本当に何も調べず試さず丸投げする人との区別は他人である回答者には無理です。

    キャンセル

回答 2

checkベストアンサー

+3

下記でいかがでしょうか。
大きくは変わっておりませんが、
header要素は、今回は使っていないようなので削除したのと、
flexを効かせる対象と、大きさなどを定義し直しました。

しかし、flex、超便利ですね。
IE11でも使えるし、これは使わない手はありません。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Progate</title>
  <link rel="stylesheet" type="text/css" href="stylesheet.css">
  <!-- ここでFont Awesomeを読み込んでください -->
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
</head>
<body>
  <!-- headerは使われていないようなので、削除しました。 -->
  <div class="top-wrapper">
    <div class="container">
      <h1>LEARN TO CODE.<br>LEARN TO BE CREATIVE.
      </h1>
      <p>Progateはオンラインプログラミング学習サービスです。
        <br>
        初心者にやさしいスライドとレッスンで、ウェブサービスを作りながらプログラミングを学んでいきましょう。
      </p>
     <div class="sns-block">
      <a href="#" class="btn sign-up">新規登録はこちら</a>
      <p>or</p>
      <a href="#" class="btn facebook"><span class="fa fa-facebook"></span>Facebookで登録</a>
      <a href="#" class="btn twitter"><span class="fa fa-twitter"></span>Twitterで登録</a>
     </div>
    </div>
  </div>

</body>
</html>
/* 基本、htmlは高さ100%のはずだが、Chromeがならなかったので、bodyと一緒に、高さを100%にした */
html,
body {
  height: 100%;
}
html, body,
ul, ol, li,
h1, h2, h3, h4, h5, h6, p, div {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Hiragino Kaku Gothic ProN W3', sans-serif;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
}

/* ここからCSSを書いていきましょう */
.top-wrapper{
  display:flex;
/* 子要素を縦位置真ん中にするためにflex-directionを追加 */
  flex-direction: column;
  justify-content:center;
  align-items:center;
/* 親要素は、ページいっぱいにするために高さを100%に指定 */
  height: 100%;
/* paddingは縦位置真ん中にする際に不要なのでトル */
  background-image:url(https://prog-8.com/images/html/advanced/top.png);
  background-size:cover;
  text-align:center;
}
/* 子要素として、定義 */
.container {
/* 子要素にブロックも大きさはなりの方が都合がよく自動化できるため、指定しない。内容量によって大きさをなりにするために、display: inline-block;を適用 */
  display: inline-block;
}

.container h1{
  font-size:45px;
  opacity:0.7;
  letter-spacing:5px;
  color:white;

}
.container p{
  font-size:16px;
  margin-bottom:15px;
  color:white;
}
.btn{
  padding:8px 24px;
  color:white;
  opacity:0.8;
  border-radius:4px;
}



.sign-up{
  background-color:#239b76;
  margin:15px 0px;

}
.facebook{
  background:#3b5998;
  margin-right:10px;
}
.twitter{
  background:#55acee;
}

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/16 01:10

    flexを使ってみて感じたのは、コツは、親に指定するのは、子要素がどういう動きをするか。って部分を理解することだと思います。
    これは他のプロパティにも言えることで、どこをどういじったらどう動いた、という部分を、まずやってみて、失敗して、うまくいってを繰り返して体感することが上達のコツかと思います。

    キャンセル

  • 2019/05/16 18:57

    miyabiさんが指摘して下さった通りにやってみると、中央配置がうまくできたのですが、
    今やっているコースをクリアするためには、flexで配置したのはだめでした。
    だから、flex以外のレイアウトでもう一度取り組んでみます。

    今回受けたアドバイスはためになりました。
    時間を割いて下さってありがとうございました。

    キャンセル

  • 2019/05/16 19:05

    なるほど・・・。
    やはり、absoluteですかね?
    absolute以外でも、display: inline-blockを使う方法もありますので、
    display: tableなんて方法もあります。
    調べてみてください。

    キャンセル

  • 2019/05/16 19:30

    調べてみます。ありがとうございます。

    キャンセル

  • 2019/05/16 20:56

    marginとpadding、
    heightとwidthの調整だけでできました。

    キャンセル

  • 2019/05/16 21:26

    calcを使えば、それでも縦位置真ん中行けますね。
    できてよかったです。

    キャンセル

+2

teratailでは丸投げの質問は推奨していないので
自身で解決をお願いします。
https://teratail.com/help/avoid-asking

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • HTML

    11518questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    7560questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。