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

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

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

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

CSS

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

Q&A

解決済

1回答

557閲覧

twitterの投稿一覧を左寄せで表示したい

Malas

総合スコア112

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/08/16 11:04

編集2018/08/16 11:37

前提・実現したいこと

railsを使用してtwitterのクローンのようなサイトを作成しております。
その中で投稿一覧を表示するページを作成したのですが、
投稿一覧をページの真ん中ではなく左寄せで表示したいです。

index.html.erb(投稿一覧画面)

<div class="main posts-index"> <div class="container"> <% @posts.each do |post| %> <div class="posts-index-item"> <%= link_to(post.content, "/posts/#{post.id}") %> </div> <% end %> </div> </div>

posts.scss

.posts-index-item { padding: 20px 30px; background-color: white; overflow: hidden; box-shadow: 0 2px 6px #c1ced7; float:left; width:100%; }

home.scss

* { box-sizing: border-box; } html { font: 100%/1.5 'Avenir Next', 'Hiragino Sans', sans-serif; line-height: 1.7; letter-spacing: 1px; } ul, li { list-style-type: none; padding: 0; margin: 0; } a { text-decoration: none; color: #2d3133; font-size: 14px; } h1, h2, h3, h4, h5, h6, p { margin: 0; } input { background-color: transparent; outline-width: 0; } form input[type="submit"] { border: none; cursor: pointer; } body { color: #2d3133; background-color: #3ecdc6; margin: 0; min-height: 1vh; } .main { position: absolute; top: 64px; width: 100%; height: auto; min-height: 100%; background-color: #f5f8fa; } .container { max-width: 600px; margin: 60px auto; padding-left: 15px; padding-right: 15px; clear: both; } header { height: 64px; position: absolute; z-index: 1; width: 100%; } .header-logo { float: left; padding-left: 20px; color: white; font-size: 22px; line-height: 64px; } .header-logo a{ color: white; font-size: 22px; } .header-menus { float: right; padding-right: 20px; } .header-menus li { float: left; line-height: 64px; font-size: 13px; color: white; padding-left: 15px; } .header-menus a { float: left; font-size: 13px; color: white; } .header-menus .fa { padding-right: 5px; } .header-menus input[type="submit"] { padding: 0 20px; float: left; line-height: 64px; color: white; margin: 0; font-size: 13px; } .top-main { padding: 200px 0 100px; text-align: center; position: absolute; top: 0; width: 100%; height: auto; min-height: 100%; color: white; background-color: #3ecdc6; background-repeat: no-repeat; background-position: center 50%; background-size: cover; background-image:url("../top.png"); } .top-message { position: relative; } .top-main h2 { font-size: 70px; font-weight: 500; line-height: 1.3; -webkit-font-smoothing: antialiased; margin-bottom: 20px; color:gold; font-weight:bold; } .top-main p { font-size: 24px; color:gold; font-weight:bold; } .about-main { padding: 180px 8% 0; color: white; } .about-main h2 { font-size: 64px; font-weight: 500; line-height: 1.4; } .about-main p { font-weight: 200; font-size: 20px; } .about-img { width: 84%; } .form { max-width: 600px; margin: 0 auto; background-color: white; box-shadow: 0 2px 6px #c1ced7; } .form-heading { font-weight: 300; margin: 60px 0 20px; font-size: 48px; color: #bcc8d4; } .form-body { padding: 30px; } .form-error { color: #ff4d75; } .form input { width: 100%; border: 1px solid #d8dadf; padding: 10px; color: #57575f; font-size: 16px; letter-spacing: 2px; border-radius: 2px; } .form textarea { width: 100%; min-height: 110px; font-size: 16px; letter-spacing: 2px; } .form input[type="submit"] { background-color: #3ecdc6; color: white; cursor: pointer; font-weight: 300; width: 120px; border-radius: 2px; margin-top: 8px; margin-bottom: 0; float: right; } .form-body:after { content: ''; display: table; clear: both; }

試したこと

float:left;と記入しても真ん中に表示されたままです。

よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

width:100%;なら,float:left;しても位置が変わらないのは当たり前です.
(親要素の幅いっぱいに,その要素自身の幅も広げられているのですから,それ以上,左右に動きようがありません).containerか,.main.posts-indexか,さらにその上にかぶさっている要素のどれかの指定を変える必要があります

現状では提示されているソースコードがHTML,CSSともに不足しているので,全体像が分かるように,提示するコードを増やしてください.
もし,どの部分を見せればよいか分からず,また既にネット上に公開されているなら,そのリンクを貼ってください.

尚,通常HTMLにおいては,左上から要素が配置されるので,
左側が空白なら,特に指定されていない限りは,左寄せになるはずです


追記(20180816)

css

1.main { 2 position: absolute; 3 top: 64px; 4 width: 100%;/*画面幅いっぱいに広がっている?*/ 5 height: auto; 6 min-height: 100%; 7 background-color: #f5f8fa; 8} 9 10.container { 11 max-width: 600px; 12 margin: 60px auto; 13 /*margin: 上下余白 左右余白; ←左右余白にautoが指定:左右中央寄せ*/ 14 padding-left: 15px; 15 padding-right: 15px; 16 clear: both; 17}

もし,「投稿一覧」が画面全体を覆っている(.mainがbody要素の直下にある)なら,.containermarginを調節すればよいと考えられます
margin: 60px 0;を指定してみてください

上手くいかない場合は,サイトのスクリーンショットと,各枠がどのCSSセレクタと紐付いているか分かるよう説明を書き加えてください.

投稿2018/08/16 11:21

編集2018/08/16 14:24
liveasnotes

総合スコア1284

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Malas

2018/08/16 11:37

ありがとうございます。CSSを追加いたしました。
Malas

2018/08/16 23:48

ご指摘通り書きましたらうまくいきました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問