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

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

新規登録して質問してみよう
ただいま回答率
87.20%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

解決済

positionを使うとtext-align: centerが効かなくなる気がする

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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

2回答

1評価

0クリップ

4335閲覧

投稿2019/02/10 09:39

編集2019/02/10 11:21

前提・実現したいこと

六角形のマークの上に、言語名を載せたい。

発生している問題・エラーメッセージ

cssファイルの一番した辺りの .lesson icon p{ ・・・ }の近くに質問を書きましたのでそちらをご覧ください。 cssファイルの、一番した辺りの .lesson-wrapper において text-align: centerをすることで 子要素の pの中身 とか img が lesson-icon 内で中央に配置(センタリング)と思います。 で、言語名をマークに載せるために position を使うところ、position: relativeを書いたところ、までは センタリングは維持されているのですが、position: abusolute を書くとなぜか言語名が左に寄ります。 基準点(lesson-iconの左上)の近く、例えば画像の左上近くに移動するならまだしも、なんで左に寄るのかわかりません。 また、width: 100%もわかりません。もともとpはブロック要素なので、lesson-icon内いっぱいに広がっているのでは ないですか?

該当のソースコード

html

<!--ファイル名: index.html --> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Progate</title> <link rel="stylesheet" href="stylesheet.css"> <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"> <img class="logo" src="https://prog-8.com/images/html/advanced/main_logo.png"> </div> <div class="header-right"> <a href="#" class="login">ログイン</a> </div> </div> </header> <div class="top-wrapper"> <div class="container"> <h1>LEARN TO CODE.</h1> <h1>LEARN TO BE CREATIVE.</h1> <p>Progateはオンラインプログラミング学習サービスです。</p> <p>初心者にもやさしいスライドとレッスンで、ウェブサービスを作りながらプログラミングを学んでいきましょう。</p> <div class="btn-wrapper"> <a href="#" class="btn signup">新規登録はこちら</a> <p>or sign up with</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> <div class="lesson-wrapper"> <div class="container"> <div class="heading"> <h2>Learn Where to Get Started!</h2> </div> <div class="lessons"> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/html.png"> <p>HTML & CSS</p> </div> <p class="txt-contents">ウェブページの作成に使用される言語です。HTMLとCSSを組み合わせることで、静的なページを作り上げることができます。</p> </div> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/jQuery.png"> <p>jQuery</p> </div> <p class="txt-contents">素敵な動きを手軽に実装できるJavaScriptライブラリです。 アニメーション効果をつけたり、Ajax(エイジャックス)を使って外部ファイルを読み込んだりと色々なことができます。</p> </div> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/ruby.png"> <p>Ruby</p> </div> <p class="txt-contents">オープンソースの動的なプログラミング言語で、 シンプルさと高い生産性を備えています。大きなWebアプリケーションから小さな日用ツールまで、さまざまなソフトウェアを作ることができます。</p> </div> <div class="lesson"> <div class="lesson-icon"> <img src="https://prog-8.com/images/html/advanced/php.png"> <p>PHP</p> </div> <p class="txt-contents">HTMLだけではページの内容を変えることはできません。PHPはHTMLにプログラムを埋め込み、それを可能にします。</p> </div> </div> </div> </div> <div class="message-wrapper"> </div> <footer> </footer> </body> </html>

css

/* ファイル名: stylesheet.css */ body { margin: 0; font-family: "Hiragino Kaku Gothic ProN"; } a { text-decoration: none; } .container { width: 1170px; padding: 0 15px; margin: 0 auto; } .top-wrapper { padding: 180px 0 100px 0; background-image: url(https://prog-8.com/images/html/advanced/top.png); background-size: cover; color: white; text-align: center; } .top-wrapper h1 { opacity: 0.7; font-size: 45px; letter-spacing: 5px; } .top-wrapper p { opacity: 0.7; } .btn-wrapper { margin: 20px 0; } .btn-wrapper p { margin: 10px 0; } .signup { background-color: #239b76; } .facebook { background-color: #3b5998; margin-right: 10px; } .twitter { background-color: #55acee; } .btn { padding: 8px 24px; color: white; display: inline-block; opacity: 0.8; border-radius: 4px; } .btn:hover { opacity: 1; } .fa { margin-right: 5px; } header { height: 65px; width: 100%; background-color: rgba(34, 49, 52, 0.9); } .logo { width: 124px; margin-top: 20px; } .header-left { float: left; } .header-right { float: right; background-color: rgba(255, 255, 255, 0.3); transition: all 0.5s; } .header-right:hover { background-color: rgba(255, 255, 255, 0.5); } .header-right a { line-height: 65px; padding: 0 25px; color: white; display: block; } .heading { padding-top: 60px; padding-bottom: 30px; color: #5f5d60; } .heading h2 { font-weight: normal; } .lesson-wrapper { height: 500px; padding-bottom: 80px; background-color: #f7f7f7; /* text-alignをcenterに指定してください */ text-align: center; } .lesson { float: left; width: 25%; } /* lesson-iconクラスのCSSを指定してください */ .lesson-icon{ position: relative; } /*ここより上は変更しません。で、/* */の箇所を表示させた時の動きの違いを理解できません。 position: absoluteだけ表示させた時にHTML & CSSという文字が左に行く理由がわからない。 text-alignで、p内で中央に移動していたはずでは? 追加でtop: 90pxを表示させた時、上(というか、基準点であるlesson-iconの左上から90pxの箇所)に移動はわかる。 さらに追加でwidth: 100%を表示させたときにHTML & CSSという文字が右に移動する理由がわからない。 そもそもpは指定しない場合widthは元から100%なので、lesson-iconの中で横いっぱいに広がっていたはずでは? color: whiteを//によって消しているのは黒文字の方が変化がわかりやすいため。*/ /* lesson-iconの中の<p>のCSSを指定してください */ .lesson-icon p{ /*position: absolute;*/ /*top: 90px;*/ /*width: 100%;*/ /*color: white;*/ } /* txt-contentsクラスのCSSを指定してください */ /*.txt-contents{ width: 80%; display: inline-block; margin-top: 20px; font-size: 12px; color: #b3aeb5; }*/

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

m.ts10806

2019/02/10 11:04

コードはファイルが別であればコードブロックをわけてください。 「コピペで誰でもそのまま再現できること」が原則なのでコメントは外にだすか、きちんと言語にのっとったコメント対応してください。
退会済みユーザー

退会済みユーザー

2019/02/10 11:22

ご指摘ありがとうございました。 以後気をつけます。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

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

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

CSS

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