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

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

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

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

CSS

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

Q&A

解決済

3回答

3662閲覧

PCの時に2カラム、スマホの時は1カラムという表示にしたい。

Malas

総合スコア112

HTML

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

CSS

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

0グッド

0クリップ

投稿2018/08/17 03:38

編集2018/08/17 03:45

前提・実現したいこと

railsを使用してtwitterのクローンのようなサイトを作成しております。
その中で投稿一覧を表示するページを作成したのですが、
PCの時に2カラム、スマホの時は1カラムという表示にしたい。

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

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

posts.scss

.posts-index-item { padding: 20px 30px; background-color: white; overflow: hidden; box-shadow: 0 2px 6px #c1ced7; width:70%; } .post-left img { width: 50px; height: 50px; border-radius: 40%; box-shadow: 0 2px 6px #c1ced7; object-fit: cover; } .post-user-name a { font-weight: 600; } .post-user-name a:hover { color: #3ecdc6; } .post-left { float: left; width: 10%; } .post-right { float: left; width: 90%; padding-left: 25px; text-align: left; } .posts-show form { display: inline; } .posts-show-item { padding: 30px; background-color: white; box-shadow: 0 2px 6px #c1ced7; overflow: hidden; } .posts-show-item img { width: 60px; height: 60px; border-radius: 40%; box-shadow: 0 2px 6px #c1ced7; vertical-align: middle; object-fit: cover; } .posts-show-item .post-user-name a { vertical-align: middle; font-size: 24px; margin-left: 15px; } .posts-show-item p { font-size: 24px; margin: 20px 0; } .post-time { color: #8899a6; margin-bottom: 10px; } .post-menus { float: right; } .post-menus a, .post-menus input { color: #8899a6; text-decoration: underline; font-size: 14px; } .posts-new textarea { font-size: 20px; padding: 10px; min-height: 140px; border: 1px solid rgb(216, 218, 223); resize: none; } .posts-new textarea::-webkit-input-placeholder { font-size: 24px; opacity: 0.5; }

###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; }

試したこと

col-md-6と書きましたがうまくいかないです。

よろしくお願いします。

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

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

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

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

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

m.ts10806

2018/08/17 03:39

CSSフレームワークをお使いでしたらそのフレームワークとバージョンを記載してください。(あとタグにも追加を)独自で作られたものでしたらCSSもご提示ください。
Malas

2018/08/17 03:47

ありがとうございます。追加しました。
m.ts10806

2018/08/17 04:15

col-md-6ってCSSフレームワーク(Bootstrapなど)ではないのでしょうか。どこにもその指定が提示されていませんが。
Malas

2018/08/17 10:57

申し訳ございません。Bootstrapを用いております。
guest

回答3

0

PCの時に2カラム、スマホの時は1カラムという表示にしたい。

タイトルが要件だとすると採用技術が間違っています。
User agent を判別して、content を出し分けてください。

投稿2018/08/17 12:56

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

https://thimbleprojects.org/liveasnotes/532798/
イメージ説明
こういう感じですか?

だとすると,内包要素が2つ以上必要なのですが,ご提示いただいたHTMLと矛盾します
要素の位置関係は,動かしたい要素のCSSだけでは決まりません.親要素のHTML,CSSが両方必要です

また,CSSだけを詳細に提示されても,HTMLが不完全である場合,状況を把握しきれません.
CSSの記述は,HTMLの記述に左右されるからです

もし,コードをスすべて載せられないなら,作成したページのURLを貼るか,現状のクリーンショットや,完成予想図等を添えてください

投稿2018/08/17 07:30

編集2018/08/17 07:31
liveasnotes

総合スコア1284

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

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

Malas

2018/08/17 08:51

遅くなってすみません。 イメージはそのような感じです。 投稿を左側半分に2列で表示したいと思っております。 投稿が2つありましたら、2カラムの横並びにしたいです。
liveasnotes

2018/08/17 10:22

生成されたあとのHTMLを見せてもらえないでしょうか? HTMLが断片的すぎて,まるで「家」のリフォームを頼まれたのに,「キッチン」の図面だけ送られてきた感じです. 先述した通り,現時点だと,どんなCSSを書けば適切なのか分かりません. 「CSSに合わせてHTMLの構造が変化してくれるツール」を仕込んでいるのなら問題ないかもしれませんが,普通はHTMLありきでCSSを書きます 作成したページをブラウザで開き,適当なところを右クリックすれば,「View Page Source(ソースコードを見る)」ボタンが出ると思うので,それを押して出てきたソースコードを(できれば必要な部分に絞ってほしいですが,)丸々,質問欄にコピペしてください cf. - Safari の開発メニューを使用する https://support.apple.com/ja-jp/guide/safari/sfri20948/mac - MacのSafariの開発者ツールとは? 解説と使い方 https://uxmilk.jp/38804 - Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能 https://www.buildinsider.net/web/chromedevtools/01 - ウェブコンソールを開く https://developer.mozilla.org/ja/docs/Tools/Web_Console/Opening_the_Web_Console - SafariのWeb開発ツールが便利。導入方法と、CSS変更による影響確認の使い方を解説します https://engineershareinfo.com/2018/01/08/how-to-use-safari-web-developer-tool/ - Chromeの開発用ショートカット(Mac編) http://takigawa401.hatenablog.com/entry/20110829/1314603559
liveasnotes

2018/08/17 10:23

あと,既にヒントは回答のリンクに示しているので,リンク先ページの右上「リミックス」ボタンからソースコードを確認してみてください
Malas

2018/08/17 10:40

ありがとうございます。 トップページ、投稿ページ、投稿確認ページのHTMLを書き込めばよろしいでしょうか。
Malas

2018/08/17 10:53

教示いただいたflexを使った方法は試してみましたがうまくいきませんでした。
liveasnotes

2018/08/17 12:45

>トップページ、投稿ページ、投稿確認ページのHTMLを書き込めばよろしいでしょうか。 最初に掲出されたコードが,そもそもどのページのものなのか分からないので,(ネーミングの問題もありますし)何とも言えないですが,問題になっているページのHTMLであれば,それでお願いします 以前知恵袋で似たようなものに回答したとき(確かインスタグラムの埋め込みだったと思います),生成後のページを見ないと分からない部分のCSSをいじった覚えがあります (念のため言っておきますが,現在示されているHTMLは,実際にブラウザで表示される際には,PHPやJavascriptによって書き換えられることで,元の状態とは違った構成になったり,内部に複数の要素が追加されたりします.) そのため,「生成後の」HTMLを見た方が手っ取り早いだろうと考えています(生成後のHTMLの表示方法は先述しましたが,加えてURLの先頭に「view-source:」を付与する方法もあります) もちろん,Twitterの各投稿を見られるのが気になるなら,文章や画像,IDなどの部分を書き換えてもらって構いませんので,生成後のページのものを見せてほしいと思います
guest

0

bootstrap使われてるんでしょうか…??
それなら、col-md-6を指定しているdivのクラスに、containerがあるからじゃないでしょうか。
rowより外のdivにcontainerを指定すればいける気がします。

投稿2018/08/17 07:09

yy_tn

総合スコア299

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

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

Malas

2018/08/17 08:53

ありがとうございます。 Bootstrapを使用しております。 rowより外側の指定の仕方を考えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問