htmlとcssを使った法律ウェブサイトのデザイン方法

このQ&Aのポイント
  • 紹介されているデザインをhtmlとcssを使って作成するためには、画像のスライス方法と要素の配置方法に注意が必要です。
  • 具体的には、真ん中のオレンジの旗をdivタグに名前をつけてheaderとし、メニューをリストタグにして重ねることができます。
  • また、他の方法としても、要素の位置調整やフレキシブルボックスを使ったレイアウトなどがあります。
回答を見る
  • ベストアンサー

このようなデザインを作りたいです。

http://trendytuts.com/web-layout-tutorials/how-to-design-a-lawjustice-website-in-photoshop.html このサイトで紹介されているデザインをhtmlとcssを使って作成するとき、 どのように画像をスライスして、どう作成すればよいでしょうか。 上のメニューの部分が分からないので教えていただきたいです。 真ん中のオレンジの旗をdivタグに名前をつけてheaderとし HomeからContact Usまでのメニューをリストタグにして…と考えているのですが。 htmlとcssを使用して、真ん中のheaderがメニューの上に重なるように作ることは出来るのでしょうか。 上記の方法でなくても、他に方法があれば教えていただきたいです。 説明下手ですみません。よろしくお願いします。

  • CSS
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • mat-21
  • ベストアンサー率56% (91/162)
回答No.1

> 真ん中のオレンジの旗をdivタグに名前をつけてheaderとし > HomeからContact Usまでのメニューをリストタグにして…と考えているのですが。 HTMLのタグ的には問題ないです。 で、レイアウトはCSSで全て指定します。 例HTML) <div id="pageheader"> <div id="header"><img src="hata.gif" width="200" height="200"></div> <ul id="globalmenu"> <li><img src="gm1.gif" width="100" height="50"></li> <li><img src="gm2.gif" width="100" height="50"></li> <li id="gm3"><img src="gm3.gif" width="100" height="50"></li> <li><img src="gm4.gif" width="100" height="50"></li> <li><img src="gm5.gif" width="100" height="50"></li> <li><img src="gm6.gif" width="100" height="50"></li> </ul> </div> 例CSS) #pageheader { position:relative; top:0px; left:0px; width:800px; z-index:0; } #haeder { position:absolute; top:0px; left:300px; width:200px; height:200px; z-index:1; } #globalmenu { position:relative; top:100px; left:0px; width:800px; height:50px; z-index:0; } #globalmenu li { width:100px; height:50px; float:left; font-size:1px; } #gm3 { margin-right:200px; } てな感じですが、きっちりレイアウトを納めるには、天地横のピクセル指定が重要です。 例に指定したサイズはあくまで例です。 全体を画面センターにしたい場合は、 #pageheader { position:relative; top:0px; left:0px; width:800px; z-index:0; margin:0px auto; } という風に、marginの左右を「auto」にすれば、センターになります。 また、 #globalmenu li { width:100px; height:50px; float:left; font-size:1px; } に、「font-size:1px」と指定しているのは、 画像サイズが、<li>の文字サイズより大きくなった場合、その下に隙間が空いてしまうので、 それを防止するために、指定しているだけです。 まとめ) ようは、CSSのPOSITIONをうまく使えば、自由自在なところに配置できるわけです。

GERBERA-87-
質問者

お礼

ありがとうございます! やってみます!

その他の回答 (1)

  • mat-21
  • ベストアンサー率56% (91/162)
回答No.2

No1の者です。 CSSに記述ミスがありました。 CSSを知っていれば、気づくと思いましたが、一応修正しておきます。 誤 #globalmenu { position:relative; top:100px; left:0px; width:800px; height:50px; z-index:0; } ↓ 正 #globalmenu { position:relative; top:100px; left:0px; width:800px; height:50px; z-index:0; margin:0px; padding:0px; list-style:none; } 以上です。失礼しましたm(_ _)m

関連するQ&A

  • シンプルなデザインのウェブサイトのテンプレートの本

    シンプルなデザインの、ウェブサイトのテンプレートがたくさん載っている本を教えて下さい。 php等を使って趣味のウエブサイト作成をしているのですが、 見栄えのデザインについて全くセンスが無いらしく、cssをいろいろいじったりするのがとても苦痛です。 cssが単純で、シンプルなデザインのテンプレートがたくさん載っている本を教えて下さい。 よろしくお願いします。

  • CSSによるデザインの切り替えに際して

    HTML、CSSについて勉強中の者です。 HTMLで文書構造を書き、複数のCSSでデザインを切り替える、ということを勉強しているのですが、例えばあるCSSではnav要素とarticle要素(更新情報のお知らせ欄)をheader要素に入れるのに対し、別のCSSではnav要素のみをheader要素に入れ、article要素はsection要素内に表示させたい、となった場合、同じHTMLを使用することは難しいのでしょうか。 CSSである要素にある要素を入れるということはできるのか、できない場合は諦めてそれぞれHTMLを作成するべきなのか悩んでいます。 HTML側で全要素をそれぞれdiv要素にしてしまえばできるのかも?と思うのですが、それでは正しい文書構造にはならないと思いますので、あまり考えてはいません。 お詳しい方がいらっしゃれば、教えていただきたいです。

    • 締切済み
    • CSS
  • CSSで上下の配置を逆転させるには?

    HTMLは変更せず、CSSの修正だけでスマートフォンに 対応することになりました。 HTMLの一番上に書いたメニューを、その下に書かれた メインコンテンツ(高さは決まっていない)の下に配置させたいのですが、 よい方法がみつからずに困っております。 <div id="header"> メニュー </div> <div id="main"> メインコンテンツ </div> 何かよい方法はありませんでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • DWでhtml5で記述するとCSSが反応しな

    Dreamweaver CS6を使ってますが、なぜか、html5で記述すると、CSSが反応しません。 例えば、今までの、XHTML+cssですと、 <div id="header"> <div class="abc"> 中身 </div></div> だと、CSSパネルで、 #header .abc で、記述したら、もちろんデザインビューに反映してたのですが、 HTML5の記述で、例えば、 <haader id="header"> <section class="abc"> 中身 </section> </header> だと、CSSパネルで、 #header .abc と、しても反映されません。 ライブビューや、ブラウザでは、反映されている様です。 (しかし、一回一回、ライブビューに切り替えたり、ブラウザで確認しないとならないのは、非常に不便です。) ■Dreamweaverのデザインビューでは、HTML5は、対応してないのでしょうか? ■Dreamweaverで、HTML5を使う、何かのプラグインなどあるのでしょうか? ■その他、何が間違っているのでしょうか? お詳しい方、お教え頂けますでしょうか。 宜しくお願い致します。

  • CSSでの画像表示、無効時でのテキスト表示

    CSS有効時は画像表示、無効時はテキスト表示というようにしたいのですが、どのようなCSSをかけばよろしいのでしょうか? リストタグを使いメニューを作成しておりますが、画像のメニューを使い、CSS無効時は画像が消え、その代わりにテキストが表示されるようにしたいのです。 よろしくお願いいたします。

  • WEBデザインで文字の配列がおかしくなる

    初めてホームページを作っています。 それで途中までは難なく作成できたんですが今文字の配列でつまずいています。 HPは真ん中によせてつくってあるので背景画像やフラッシュ、バナー、メニューバーを真ん中寄せなどはできたんですが文字の位置が適正なポジションに置けません。 置きたい場所は真ん中より左側なのでtext-alignは使えません。 それで以下のタグで組んでみたんですが、ウインドウのサイズを変えると paddingをつかってるせいか文字は移動せずにその場所にのこってしまいます。 HTML <div class="drow"> <div class="news"> <h3>新着情報</h> </div> ・・省略・・ </div> CSS div.drow{ padding-top:20px; padding-left:90px; width:100%; } こちらのタグではウインドウをリサイズすると文字の場所が変わってしまいます。position:absoluteなどでleft設定しても同じでした。 ウインドウのサイズをあけても文字の場所を移動させないにはどうしたらいいんでしょうか。

  • ホームページのデザインに関して

    質問失礼します。 現在、WEBサイトを製作中です。 検索して、とあるサイトからスライドショーのやり方とメニューが縦にスクロールしても ついてくる紹介をしていました。 以前のことなので、紹介サイトは覚えておりませんが… そこで、スライドショーは無事に出来たのですが… メニューがついてくることに質問があります。 (1)スクロールした際に、メニューがついてくる高さを設定したいです。 現在だと、早い段階でメニューがついてきますので、もう少し下にスクロールしてから メニューが降りてくると助かります。 (2)この降りてくるメニュー、常に1番上に表示されているようにしたいです。 所々、スクロールすると画像の下に表示されることがあります。 画像や文字の上に表示されるようにしたいです。 (3)なぜか、中央に配置しているロゴ画像は真ん中ですが、メニュー全体が若干左よりです。 メニューも真ん中に表示されると幸いです。 以下jsです。 // JavaScript Document (function(){ var options = { duration: 1500, easing: 'easeOutCubic', auto: true, interval: 3000 }; var $window = $(window), $container = $('#slider'), $element = $container.find('ul'), $list = $element.find('li'), $next = $container.find('#next'), $prev = $container.find('#prev'), shift = 2, lw = $list.width(), len = $list.length, timer = ''; var $header = $('#header'), $headerAfter = $header.next(), headerY = $header.height(), containerY = $container.height(); function initialize(){ setup(); $window.on('resize', resize); $next.on('click', function(){ slide(true); }); // $prevにclickイベントを登録します。 // $prevをクリックしたら、関数sliderの引数にtrueを渡して実行します。 $prev.on('click', function(){ slide(false); }); // windowにscrollイベントを登録します。 // スクロールイベントが起きるたびに、関数scrollを実行します。 $window.on('scroll', scroll); load(); if(options.auto) timer = setInterval(function(){ slide(true) }, options.interval); }; function setup(){ for(var i = shift; i > 0; i--) $element.find('li').eq(len - i).remove().prependTo($element); for(var i = 0; i < 2; i++) $('<div class="layer"></div>').insertAfter($element); $leftlayer = $container.find('.layer').eq(0); $rightlayer = $container.find('.layer').eq(1); resize(); }; function resize(){ var _val = ($window.width() - lw) / 2 - lw * shift; $element.css({ 'width': lw * len, 'left': _val }); $leftlayer.css('left', _val + lw); $rightlayer.css('left', _val + lw * 3); }; function slide(direction){ if($element.filter(':animated').length) return; if(options.auto) clearInterval(timer); 以下HTMLです。 <div id="slider"> <ul class="clearfix"> <li><a href="#"><img src="" alt="" width="" height="" /></a></li> <li><a href="#"><img src="" alt="" width="" height="" /></a></li> <li><a href="#"><img src="" alt="" width="" height="" /></a></li> <li><a href="#"><img src="" alt="" width="" height="" /></a></li> <li><a href="#"><img src="" alt="" width="" height="" /></a></li> <li><a href="#"><img src="" alt="" width="" height="" /></a></li> </ul> <p id="prev"><img src="" alt="" width="" height=""></p> <p id="next"><img src="" alt="" width="" height=""></p> <!-- /slider --></div> <div id="wrapper"> <div class="inner"> <img src="/logo.png" alt="" width="" height="" class="logo"/> <!-- /inner --></div> <!-- /wrapper --></div> 以下ヘッダー部分のCSSです。 #header{ width: 100%; } #header h1{ padding: 10px 0; background-color: rgba(0,0,0,0.2); } #header h1 span{ display: block; } #header #nav{ background-color: rgba(0,0,0,0.6); } #header #nav li{ float: left; } #header #nav a{ display: block; padding: 15px; text-decoration: none; color: #fff; font-family: Helvetica,Arial,sans-serif,メイリオ; } #header #nav a:hover{ color:#666; background: #fff; } お手数をお掛け致しますがどうぞ宜しくお願い致します。

    • ベストアンサー
    • CSS
  • IEの表示だけおかしい

    CSSとPHPを用いて、擬似フレームのようなWebページを作成しています。ページの構成は、下記のようなヘッダ、左メニュー、右コンテンツ、フッタとなっています。 ---------------------- header ---------------------- menu |  Contents     |     |     | ---------------------- footer ---------------------- CSSでは、 div#header{} div#left{float:left; width:200px;} div#right{margin-left:200px;} div#footer{clear:left;} と指定しています。 Webページ内では <div id="header"> などとしてCSSのレイアウト構成を反映させています。 次に、PHPのincludeを用いてヘッダ、左メニュー、フッタは共通の外部ファイルを読み込むように指定しています。右側のコンテンツの所のみ、別々の内容を直接記述しています。 以上のようにWebページを.phpとして作成し、動作確認を行いました。Opera、Firefoxでは上記のように綺麗に表示されます。 IE6では、右側のコンテンツ部が左メニューと並びません。下記のように、メニューの最下段の次のひ行から始まって表示されます。 ---------------------- header ---------------------- menu |     |     |     --------------      Contents ---------------------- footer ---------------------- 以上のような症状で困っていますが、Googleで検索しても手詰まりの状態です。同じ症状を経験された方、解決策をご存知の方いらっしゃいましたらご教授ください。

    • ベストアンサー
    • HTML
  • CSSレイアウトの2カラム左メニューでコンテンツを先にHTMLに記述できる方法をおしえてください。

    趣味でHPを作成しております。 一般的なCSSレイアウト2カラム左メニューにしたいのですが、 HTML部分で左メニューよりコンテンツを先に記述し、 CSSで左メニューで右にコンテンツがくるようにしたいです。 現在のCSSは * { margin:0; padding:0; } .wrapper { width: 750px; margin: 0 auto; } .header { width: 750px; height: 100%; } .main { width: 750px; } .menu { float: left; width: 200px; } .contents { float: left; width: 550px; } .footer { clear: both; width: 750px; height: 100%; } .menu ul { list-style: none; } このような記述です。 つづきましてHTML部分は <body> <div class="wrapper"> <div class="header"> ヘッダー部分 </div> <div class="main"> <div class="contents"> コンテンツ部分 </div> <div class="menu">  メニュー部分 </div> </div> <div class="footer"> フッター部分 </div> </div> </body> このような感じです。 しかしこれだとHTML部分はコンテンツが先にきておりますが、 メニューが右になってしまいます。 これをHTML部分を変えずにCSSでメニューを左に配置する方法はありますでしょうか? 1週間くらい試行錯誤したのですが、できませんでした。 お詳しい方教えてください。

    • ベストアンサー
    • HTML
  • Webデザイン

    現在、私はファンクラブサイトを制作しようとしています。 今までにウェブサイトの運営履歴はあります。 ホームページビルダー11を使っています。 ところで、ウェブサイト全体を同じデザインで統一しようと思うのですが、ホームページビルダー(以下、HPB)のは使い方がよくわからない上にいいデザインがありません。 そして、私はすべてのページの左側にリンクメニューを入れるつもりですが、手作業だと、修正箇所がある場合、数十ページも直さなくていけなくなるので大変です。 以前、サイト内を同じデザインで統一している、あるウェブサイトを見たことがあるのですが、どうやらフリーで配布されている、デザインを統一するためのPHPを使っているようなのです。 私の考えでは、PHP等を使えば、デザイン統一やリンクメニューが簡単にできると思うのですが、皆様いいサイトを知っていらっしゃいますでしょうか。 (いわゆる”Webデザイン”で検索しても、カスタマイズしにくかったり、1ページにしか使えないような自由度の低いものしか見つかりませんでした。) 乱文になったので、わからないことがありましたら質問してください。

専門家に質問してみよう