CSSについて勉強中のポイントと実現したいこと
- CSSについて勉強中のポイントとして、以下のサイトのCSSをベースに学んでいます。
- 実現したいことの1つは、スマホサイズ表示での上メニューをPCサイズ時のサイドメニューと同列に入れたいことです。
- また、PCサイズ時に「コンセプト」を「採用情報」の下に配置したいと思っています。
- ベストアンサー
cssについて
以下のサイトのCSSをベースにCSSについて勉強しているのですが、以下の点を実現する方法を教えてください。 ■cssベース ttp://www.s-hoshino.com/web2/responsive_006/index.html ■参考にさせて頂いているサイト ttp://www.htmq.com/csskihon/index.shtml ■実現したいこと。 1.ディスプレイがスマホサイズ表示(760未満)での上メニュー(メニュー一覧 表示する▼)を、 PCサイズ(950以上)のときのサイドメニュー(Site Menu)と同列に入れたい。 試したこと:g_navi、menu、gl_menuの名称を変えたコピーを @media screen and (min-width: 950px){配下に追記したが、フォームが崩れメニューの開閉が作動しなかった。 2.ディスプレイPCサイズ時の「コンセプト」を「採用情報」の下に入れたい。 試したこと:htmlのコンセプトを採用情報下にコピーしたが、h3部分が大きくなり失敗。
- strong_song1025
- お礼率100% (4/4)
- HTML
- 回答数4
- ありがとう数13
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1. 上メニュー よくわかりませんが 950px の場合なら非表示にしている サイドメニューを表示すればよいのではないでしょうか? 内容は同じでしょうから これを削除 @media screen and (max-width:950px){ #side { display: none; } } ただし * 760px 未満だとページ最下部に表示される * 760px 未満での #side li にスタイル定義が必要 2. コンセプト <!-- 段組を解除する場合 --> <style> div#content h3 { clear:both; } </style> <div id=content> _ <h2> ... へようこそ</h2> _ <div class=02_left> <h3>オススメ</h3> ... <h3>採用情報</h3> ... </div> _ <div class=02_right> <h3>新着情報</h3> ... </div> _ <h3>コンセプト</h3> _ <div class=box_out><div class=box_in>...</div></div> _ <div class=to_top> ... </div> </div> <!-- 段組内に入れる場合 --> <div id=content> _ <h2> ... へようこそ</h2> _ <div class=02_left> _ _ <h3>オススメ</h3> ... _ _ <h3>採用情報</h3> ... _ _ <h3>コンセプト</h3> <div class=box_in>...</div> _ </div> _ <div class=02_right> <h3>新着情報</h3> ... </div> _ <div class=to_top> ... </div> </div>
その他の回答 (3)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
せっかく補足を頂いたのですが、それでも分からない とりあえず2.については後回しにして・・ >ベースにしているcssでのメニュー表示は以下のようになっています。 >■スマホ用表示 > 上メニュー:折り畳みメニュー > 左メニュー:非表示 >■PC用表示 > 上メニュー:横並び表示 > 左メニュー:縦並び表示 あくまで文書構造とデザインを分けて考えてください。--それが分からなくなる理由 「上メニュー/左メニューではない」ということです。そのナビゲーションがなんであるかです。 例えば、サイト全体のナビゲーション--サイト内ナビゲーション--は通常のHTMLでは文書のヘッダ部やフッタに入るはずです。本文ではない。一方本文内の細目を示す目次のナビゲーションは本文ブロックに書きますね。 ★分かりやすいようにHTML5で書くと下記の様になります。 HTML4では、<div class="header"></div>の様にマークアップすることになっていた。 <header> ・・・文書の見出しや要約等・・・ <nav>サイトナビゲーション</nav> </header> <section> ・・・本文記事(章)・・・ <section> ・・・本文記事(項)・・・ </section> <section> ・・・本文記事(項)・・・ </section> <nav id="contentTable">目次</nav> </section> <footer> ・・・文書のフッタ・・・ 著作権とか更新日とか かんたんなナビゲーションは、<nav></nav>でマークアップしなくて良い </footer> そのうえで、 幅の狭いスマホ---screenメディアには■スマホ用表示 サイトナビゲーションは、普段は畳んでおいて、必要なとき広げて表示する。 目次は:非表示にする。 幅の広いディスプレイには■PC用表示 サイトナビゲーションは横並びに広げておく 目次:本文右横に縦並び と言う説明でしたら、誰にでもされたいことが分かりますよね。もちろん上/左じゃないですから、 ★サイトナビゲーションはページ最下段に固定して貼り付けて・・ ★目次は右において必要なときにプルダウン とか、いつでも変更できる。 先に紹介した ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HTML/nav/navigation1.html ) を再度確認して、されたい事を補足してください。
お礼
ご連絡が遅くなり大変申し分かりません。 お返事ありがとうございます。 実現したかったことが分かりづらかったので、画像を用意してみました。 http://dandy.nusutto.jp/sample_menu.jpg 今、少々時間が取りづらい状況のため連絡が遅れてしまう可能性がありますがご了承ください。 よろしくお願い致します。
補足
>ORUKA1951さん、Ogre7077さん なかなか時間が取れないので一度、締め切らせて頂きます。 時間が取れましたら別途質問を設けさせて頂きたいと思います。 ありがとうございました。
- Ogre7077
- ベストアンサー率65% (170/258)
No.2 の補足に対して この手の全体的に良くデザインされたテンプレートの場合、 下手な改造を加えるのは良くないので、 素直に提供元に発注するのをオススメします。 それでもやるならば -- html <header><nav id="g_navi"> _ <a class="menu">メニュー一覧<span></span></a> _ <ul class="gl_menu"> ...メニュー... </ul> </nav></header> ... <div id="side"> _ <div class="side_box"> ... </div> _ <h3 class="menu">Site Menu<span></span></h3> _ <div class="side_box gl_menu"> ...メニュー... </div> _ <div class="side_box"> ... </div> </div> -- css @media screen and (min-width: 760px){ #side h3.menu span { ... } #side h3.menu span:after { content: "表示する ▼"; } #side h3.menuOpen span:after { content: "閉じる ×"; } } -- js $(function(){ $(".gl_menu").hide(); $(".menu").click(function(){ $(this).toggleClass("menuOpen").next('.gl_menu').slideToggle(); }); });
お礼
ご連絡が遅くなり大変申し分かりません。 お返事ありがとうございます。 実現したかったことが分かりづらかったので、画像を用意してみました。 http://dandy.nusutto.jp/sample_menu.jpg 今、少々時間が取りづらい状況のため連絡が遅れてしまう可能性がありますがご了承ください。 よろしくお願い致します。
補足
※済みません。以下のお礼を書く相手を間違えました。 ご連絡が遅くなり大変申し分けありません。 お返事ありがとうございます。 ご教授頂いたもので概ね実現できたのですが、あまり時間が取れておらず詰めきれていませんので、もう少し自分で考えてみます。 今、少々時間が取りづらい状況のため連絡が遅れてしまう可能性がありますがご了承ください。 よろしくお願い致します。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
なぜリンク先をちゃんと書かないのですか??(とても不便です。) >試したこと:g_navi、menu、gl_menuの名称を変えたコピーを 根本的な原因は明白で、基本ができていない状態で、デザイン目的でHTMLを書いてしまうからです。15年前の1999年のHTML4.01の勧告以来、強く強く言われている事は「構造とプレゼンテーションの分離( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/intro/intro.html#h-2.4.1 )」でしたね。 HTMLには文書構造しか書かないのです。プレゼンテーションは全面的にスタイルシートに任せます。 >1.ディスプレイがスマホサイズ表示(760未満)での上メニュー(メニュー一覧 表示する▼)を、 PCサイズ(950以上)のときのサイドメニュー(Site Menu)と同列に入れたい。 メニューの位置を変えたいだけですよね。 [例] <body> <div class="header"> ・・・ <div class="nav"> <ol> <li><a href="/">Top</a></li> <li><a href="/Books">Books</a> <ol> <li><a href="/Books/book1">book1</a></li> <li><a href="/Books/book1">book1</a></li> </ol> </li> ・・・【中略】・・・ というようにHTMLが文書構造だけでマークアップされていると思います。 なお、HTML5だと <body> <header> ・・・ <nav> <ol> <li><a href="/">Top</a></li> <li><a href="/Books">Books</a> <ol> <li><a href="/Books/book1">book1</a></li> <li><a href="/Books/book1">book1</a></li> </ol> </li> ・・・【中略】・・・ これを div.header{position:relatve;} div.header div.nav ol,div.header div.nav ol li{list-style:none;margin:0;padding:0;text-align:center;} div.header div.nav ol li{display:inline-block;width:20%;} でヘッダーブロックの下に横に並びますし div.header div.nav{position:absolute;top:100%;width:20%;left:0;} でヘッダーの下の左にぶら下がるはずです。 デザインのためではなく、HTMLでは文書構造だけを徹底的にマークアップすること、そして差の文書構造を元にセレクタを書いて、プレゼンテーションを指定するという基本をまず身につけましょう。そうすると自由自在にデザインできるようになります。 サンプル ナビゲーションリストを様々にデザインしてみよう。( http://www.ichiya.com/WebService/Howto/sample/HTML/nav/navigation1.html ) このサイトで、ブラウザの[表示]⇒[スタイルシート]でスタイルシートを色々選んだり、ウインドウ幅を変えたり、印刷プレビューで印刷を確認してみると良いでしょう。HTMLには文書構造しか書いてありませんから、デザインの自由度が高くなります。視覚障害者がスクリーンリーダーを利用して読むことも点字プリンターで点字にしても・・・もちろん検索エンジンにも内容が正確に伝わります。
お礼
早速のご回答、ありがとうございます。 明日の朝までに熟読し返信させていただきます。
補足
とても詳細に書いてくださってありがとうございます。内容、確認しました。 私の説明が悪く実現したいことに一部誤解を招いてしまったようです。 ベースにしているcssでのメニュー表示は以下のようになっています。 ■スマホ用表示 上メニュー:折り畳みメニュー 左メニュー:非表示 ■PC用表示 上メニュー:横並び表示 左メニュー:縦並び表示 今回実現したいことは、 PC用表示の左メニューをスマホ用上メニューの ような折り畳みメニューに変更したいと言うことです。 よろしくお願い致します。
関連するQ&A
- CSSが動かない
http://www.stylish-style.com/csstec/ultimate/css-roll-2.html このサイトにCSSのプルダウンメニューが紹介されていますが、プログラムをコピーしてHTMLファイルにペーストしても、動作しません。 具体的には、最初のメニューは表示されますが、マウスを乗せてもプルダウンメニューが出てきません。 まったく同じような http://www.stylish-style.com/csstec/ultimate/css-roll-1.html これは動作するのですが、なぜ上のほうは動作しないのでしょうか? 原因など分かる方、教えてください。
- ベストアンサー
- その他(プログラミング・開発)
- cssはpタグの中にかけるのか。
http://www.htmq.com/css/overflow.shtml 上記サイトを見ていると、overflowプロパティをHTMLのpタグの中に書き込んでいますが、こういう書き方って実際に可能なのでしょうか。
- 締切済み
- CSS
- cssのみでメガメニューの作成について
http://webdesign.tutsplus.com/tutorials/site-elements/big-menus-small-screens-responsive-multi-level-navigation/ のぺーじにある Big Menus, Small Screens: Responsive, Multi-Level Navigation というドロップダウンメニューをメガメニューに変更しようとしていますが 2階層目のリストがどうしても横並びにできません。 cssは下記の箇所のどこかに「float:right;」を入れればよいと考え、いろいろ触りましたが、 2階層目が表示されなくなったり、3階層目が表示されなくなったりします。 .nav > li > a { display: block; } .nav li ul { position:absolute; left: -9999px; border: 1px solid #ccc; background: #ffffff; } .nav > li.hover > ul { left: 0; } .nav li li.hover ul { left: 100%; top:0; } .nav li li a { display: block; background: #1d7a62; position: relative; z-index:100; } .nav li li ul { background:#249578; z-index:200; } .nav li li li a { background:#249578; z-index:200; } メガメニューはjqueryを使って作っている紹介ページがあり 試しましたが、そうすると、レスポンシブ(小さい画面)した際の 開閉式のメニューが動作しなくなりました。 どうかご教示ください。お願いします。
- ベストアンサー
- CSS
- 【CSS】ヘッダ固定
CSSを使ってヘッダを実現したいです。 検索サイトで探したところ、以下URLが実現したい事に近いです。 http://css.alsacreations.com/modeles/modele13.htm 上記サンプルはヘッダとボディーの比率をheight: 20%; height: 80%;で指定してますが、私が実現したい事は、ヘッダのサイズを一行(文字の高さ)としたいのです。 どうしたらよいでしょうか?
- 締切済み
- HTML
- cssについて質問です。
ホームページ作成の勉強をしている者です。 分からないことがあるので質問させてもらいます。 http://www.htmq.com/csskihon/401.shtmlこのサイトのcssのソースに float:left; /*リスト項目を横に並べる*/ display:inline; /*リスト項目をインライン表示にする*/ こう書かれていました。 display:inline;ですでにリストが横になるので、float:left;で横に並べる必要があるのですか? 調べてもいまいち納得いく答えが見つからないので分かる人教えてください。
- 締切済み
- CSS
- CSS Dock Menu[jQuery]について
WEBサイトで「MacOS X風ドックメニュー」を実現させる[CSS Dock Menu]についての質問です。 http://www.ndesign-studio.com/blog/mac/css-dock-menu Demo通りの動きを実現する事はナビ通り行えば問題ないのですが、 Demo以外の機能として、何かフラグが立ったときに アイコンをぴょんぴょん飛び跳ねさせる事(これもOSX風に)は可能なのでしょうか。 お詳しい方、ご教授ください。よろしくお願いいたします。
- ベストアンサー
- JavaScript
- CSSファイルの分け方皆様はどのようにしています?
こんにちは、サンタともうします。 宜しくお願い致します。 Webを作る際に、CSSの読み込みを次のようにしています。 import.css ************************************************ @charset "UTF-8"; @import url("reset.css");/*ブラウザ間の差異を無くすYUI*/ @import url("fonts.css");/*フォントサイズを整えるYUI*/ @import url("base.css");/*CSS要素の基本の定義*/ @import url("common.css");/*CSS要素スタイルの定義(ポジショニング迄)*/ @import url("index.css");/*index.htmlにだけ適用用のCSSファイル*/ ************************************************************ base.cssとcommon.cssが似たような役割をさせているので、統一したほうが良いのかなあ?とも考えました。 違いは、 reset.css ブラウザ間の差異を無くすためのCSS(YUI3) fonts.css IEのバグ回避と、それぞれの要素の基本フォントサイズを指定します base.css アウトラインもない、h要素や、段落を分けるだけのみ用の、CSS comoon.css 各HTMLファイルの共通するレイアウトポジションを適用する、CSS index.css index.htmlだけにしか使用されない、CSS みなさんは、どのようにしておられますでしょうか? 私の分け方で、必要のない物、纒められるものを何かありましたら、ご教授頂けましたら幸いです 宜しくお願い致します。 失礼致します。 教えて頂けましたら、幸いです。
- ベストアンサー
- CSS
- cssファイルがダウンロードできてしまう・・・
cssを外部ファイルに置いて、http://○○○.com/css/index.cssのようにしているのですが、以下の問題が発生しています。 ■http://○○○.com/css/index.cssでcssファイルがダウンロードできてしまう。 ■cssファイルがYahoo検索エンジンにインデックスとして大量に登録されてしまう。 上記の2点の問題で非常に困っています。htaccessに <Files ~ "\.css$">deny from all</Files> と記述しましたが、これではサイトにアクセスするとcssを読み込まずにレイアウトが総崩れしてしまいます。 どのように記述すればよいのでしょうか?
- ベストアンサー
- HTML
- 忍者ホームページにcssが反映されない
「忍者ホームページ」でサイトを作ろうとしています。 初心者なので下記サイトをみてほぼそのままやってみました⬇️ http://www.htmq.com/csskihon/401.shtml FTPはサーバーダックを使用しています。 htmlは反映されたのですが、cssをアップロードしても反映されません。 フォルダも分けてます。 因に、試しにDreamWeaverにこのhtmlとcssをコピペして入れてみたらプレビューのところには このサイトと同じように反映されてました。 ということは、サーバーダックにアップロードする時に問題があるのでしょうか? 何か考えられる点があればご回答よろしくお願い致します。
- 締切済み
- CSS
- CSS playについて
http://www.cssplay.co.uk/menu/fast.html のサイトにあるように、サイズを揃えたいのですが、どこからこのようにできるのか、 参考のcssなどが見当たらないのですがどのように、このデモのようにできますか?
- ベストアンサー
- ブログ
お礼
早速のご回答、ありがとうございます。 明日の朝までに熟読し返信させていただきます。
補足
とても詳細に書いてくださってありがとうございます。内容、確認しました。 おかげさまで2の方が解決しました。 ORUKA1951さんの方でも記載したのですが、 私の説明が悪く実現したいことに一部誤解を招いてしまったようです。 以下、同文になってしまいますが記載します。 ベースにしているcssでのメニュー表示は以下のようになっています。 ■スマホ用表示 上メニュー:折り畳みメニュー 左メニュー:非表示 ■PC用表示 上メニュー:横並び表示 左メニュー:縦並び表示 今回実現したいことは、 PC用表示の左メニューをスマホ用上メニューの ような折り畳みメニューに変更したいと言うことです。 よろしくお願い致します。