質問させていただきます。
http://mydesign.mods.jp/about.html
上記ページなのですが、
コンテンツが少ないページに対して、CSSでフッターを下部固定させるようにしたのですが、
コンテンツの下部20pxが表示されず、常にスクロールバーが出てしまいます。
最下部まで(残り20px分)スクロールさせたら今度は最上部20pxが表示されなくなります。
コンテンツが少ないページを全て表示させスクロールバーを出さないようにしたいです。
ご教授よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
質問内容が理解できないのですが、
想像するに、ページのコンテントが少ない時はウィンドウの下端に、コンテントが多い時は下に伸びるということじゃないかと。
htmlやbodyのルート要素は背景やサイズで特殊な扱いを受けますから、全体を囲む要素を用意したほうが良いでしょう。
良く書けたHTML/CSSですが、肝心なところで、ずいぶんとおかしな間違いがあるのでそれを修正してサンプル作ってみました。
重要な点から
★ HTML5ではDIVは原則使いません。
『Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable. Use of more appropriate elements instead of the div element leads to better accessibility for readers and easier maintainability for authors.( http://www.w3.org/TR/2014/REC-html5-20141028/gro … )』
「他に適切な要素がない時の最後の手段としてdiv要素を使用することが強く奨励されます。div要素でなくより適切な要素を使用することは、読者のためにはより良いアクセシビリティを、作者には容易な保守性につながります。」
★divを使う場合も、そのidやclass名は文書構造を示すものにします。
HTML4.01(1999年勧告)以来
『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するため( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
これは、HTML5で新しい要素が追加された理由でもありますし、いまだにこのルールは生きています。
新しい要素( http://standards.mitsue.co.jp/resources/w3c/TR/h … )
<div id="container"> <article>でしょう。
<div id="header_wrap"> 不要です。
<div id="head_center"> 不要です。
head_icon" clearfix current content_wrap ttl_aria center txt_aria discript mb25 bold
・・・・その意味では、これらはすべて失格!!!デザインを示すものではなく、文書構造を示すものにしましょう。
【サンプル】
こんなにシンプルでメンテナンスしやすい。SEO的にも完ぺきなものになります。
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
で検証済みHTML5
★タブは_に置換してあるので戻すこと。
★http:// はhttp://に置換してあるので戻す。
<!DOCTYPE html>
<html lang="ja">
<head>
<title>ABOUT|MY DESIGN</title>
<link rel="shortcut icon" href="./images/favicon.ico">
<style media="screen">
<!--
/* この部分は外部スタイルーシートにするのが通常ですが、あえてここに書きます。
次の回答で */
-->
</style>
<style media="screen">
<!--
body>article>header nav ul li a[href="/about.html"]{
_color:red;
_/* カレントの場合のプレゼンテーションはここに書く */
}
-->
</style>
</head>
<body>
_<article>
_<header>
__<h1><a href="/index.html">MY DESIGN</a></h1>
__<nav>
___<ul><!-- ナビゲーションリンクはルートからのパスにしておくと℃の階層にも移動できる -->
____<li><a href="/index.html">TOP</a></li>
____<li><a href="/trip.html">TRIP</a></li>
____<li><a href="/works.html">WORKS</a></li>
____<li><a href="/about.html">ABOUT</a></li>
____<li><a href="/contact.html">CONTACT</a></li>
___</ul>
__</nav>
__<aside><!-- 本文と関係ないのでaside -->
___<ul>
____<li>
_____<a href="https://www.facebook.com/masaki.yamagata.3" target="_blank"><img alt="facebook" src="http://mydesign.mods.jp/images/icon_fb.png"></a>
____</li>
____<li>
_____<a href="http://instagram.com/husky0502/" target="_blank"><img alt="instagram" src="http://mydesign.mods.jp/images/icon_insta.png"></a>
____</li>
___</ul>
__</aside>
_</header>
_<section><!-- これはsection -->
__<h2>ABOUT</h2>
__<section id="Self-introduction"><!-- HTM5では、sectionの階層で構造を示す -->
___<h3>当サイトについて。<br>また当サイト制作者のプロフィール。</h3><!-- sectionひとつにつき必ずheadingひとつ -->
___<p>
____当サイトは、制作者の趣味の一つである「旅」の記録を発表する場として、またそれと同時に、写真を見てそれぞれの国の良さを少しでも感じていただき、そして旅へ興味を持つきっかけになればと思い、制作しました。
___</p>
___<p>
____また旅の記録をメインコンテンツとして、他ページではデザイナーである当方の個人もしくは仕事上でのデザインを一部掲載しております。
___</p>
__</section>
__<section>
___<h3>PROFILE</h3>
___<dl id="profile"><!-- ここは内容的に定義リスト -->
____<dt>誰それだれべぇ</dt>
____<dd>WEBデザイナー / グラフィックデザイナー<dd>
____<dd>
_____<ul><!-- 内容でない■などは入れてはならない。検索エンジンやスクリーンリーダーのことも考える-->
______<li>1980:大阪府生まれ</li>
______<li>2006:某デザイン系専門学校卒業。</li>
______<li>卒業後、グラフィックデザイナーとして、プロダクションなどで数年勤める。</li>
______<li>20代後半から海外の空気にハマり、東南アジア、中東などを転々と旅する。</li>
______<li>30代に入り、かねてから興味のあったWEBの世界へ。</li>
_____</ul>
____</dd>
___</dl>
__</section>
_</section>
_<footer>
__<p><!-- 一つの段落は切らない -->
___当サイト内に掲載されているすべての文章・画像・写真・デザインの無断転載、転用は日本の著作権法によって禁じられています。</p>
__</p>
__<ul>
___<li><a href="./index.html">TOP</a></li>
___<li><a href="./trip.html">TRIP</a></li>
___<li><a href="./works.html">WORKS</a></li>
___<li><a href="./about.html">ABOUT</a></li>
___<li><a href="./contact.html">CONTACT</a></li>
__</ul>
__<address>Copyright(C) 2015 MY DESIGN All Right Reserved.</address>
_</footer>
_</article>
</body>
</html>
No.5
- 回答日時:
こんにちは。
まだ解決まではしていないようなので、回答させていただきます。
http://mydesign.mods.jp/about.html
拝見しました。
一応上記サイトソースを見て、同じ構造でHTMLを組みましたので、このまま下記のCSSを追加すればフッター固定できると思います。
【HTML】質問者様のサイトと同じ構造です
<div id="container">
<header> ヘッダーの内容</header>
<div id="contentWrap">コンテンツの内容</div>
<footer>フッターの内容</footer>
</div>
【CSS】
html,body{height: 100%;}
#container{
position: relative;
min-height: 100%;
height: auto !important;
height: 100%;
}
#contentWrap{
padding-bottom: 170px;
/*適宜。下部固定のフッター分の高さ確保することで、ブラウザの高さを低くした時に重なりを回避するため*/
}
footer{
position: absolute;
bottom: 0;
height: 170px;/*適宜。フッターの高さを記述してください*/
}
この方法って適当にネットで「フッター固定 CSS」とか検索でめちゃくちゃたくさん出てくるので、
そういう記事もご自身で読んでいくと、ここで質問するより納得できるのではないかなと思います。
ここの回答より、記事のほうが詳細に書いてくれていますしね。
頑張ってください。
No.4
- 回答日時:
どのページであれ基本的なHTMLとスタイルシートの書き方は同じです。
だから、文書構造とプレゼンテーションは分離しなければならない。
例えば、
http://mydesign.mods.jp/trip_syria.html
は、文書構造的には単純なリストとして、画像をリストアップしておいて、dispaly:inline-block;ないしfloatで並べればよい。右サイドのメニューは、section内にあるべきナビゲーションリスト--目次ですから、それはabsoluteでsectionの右に配置すればよい。そのとき、先の画像リストでは右側をその分paddinbで開ければよい。
たとえば、
class="nailthumb-container square-thumb thumb mbmr10 float_left"
こんなclass名なんてつけたらだめです。全く書かなくてよいし、書いてもせいぜい"Photo"と、あとあとメンテナンスするときのために、写真だとわかればよい。float_leftとしてあるけど、異なるデザイン--block--にしたいときはどうするの??
「id属性及び class属性と併用することで、文書に構造を付加する( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )」はdivに限りません。
また、
<!-------- 写真2段目 -------->
こんなことしてるけど、将来写真がなくなったり増えたらどうするの?
それよりは、
CSS 画像をたくさん並べたい時の方法- Webデザイン・CSS | 教えて!goo( https://oshiete.goo.ne.jp/qa/9126616.html )
で示したサンプルのようにウィンドウ幅で並べ替えたほうが良いですね。
そうすると
<li>
<a href="./images/trip_photo/thailand/img04.jpg"><img width="128" height="128" alt="サムセン通り界隈 / バンコク" src="./images/trip_photo/thailand/img04.jpg"></a>
</li>
の単純なリストになる。
このほうがよほど楽です。
a要素にtitle書いてもよいが、画像のaltも多くのブラウザでチップとして表示されるのでなくてもよい。★ただし画像のaltの値は、内容の追加としての利用はできない。なぜなら画像要素には内容がないから・・
No.3
- 回答日時:
スタイルシート部分です。
★タブは_に、URLの:// は、:// i置換してあるので戻す。
★すべてのプロパティをリセットするのは感心しません。
可能な限りデフォルトのスタイルは活用します。
★タブレットやスマホでも横スクロールなしで利用できるはずです。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
<style media="screen">
<!--
html,body{
_padding:0;margin:0;font-size:14px;height:100%;
}
body>article{
_width:100%;min-height:100%;
_position:relative;
_width:100%;max-width:1000px;margin:0 auto;
}
body>article>section{
_width:80%;
_padding-bottom:80px;
}
h1{
_height:100px;width:142px;
_margin:20px auto;
_overflow:hidden;text-indent:100em;white-space:pre;
_background:url(http://mydesign.mods.jp/images/header_logo.png)
}
p{
_margin:0;line-height:1.6em;text-indent:1em;
}
header nav{
_width:100%;
_background-color:black;
}
header nav ul{
_list-style-type:none;
_text-align:center;
_font: 13px/3.7em "Ubuntu","century gothic",sans-serif;
_/* 総称ファミリ名はキーワードなので、引用符で括ってはいけません。*/
_line-height: 48px;height:48px;
_letter-spacing: 0.15em;
_margin: 0;padding: 0;
_position:relative;
}
header nav ul li{
_display:inline-block;
_width:18%;
}
header nav ul li a{
_display:block;width:100%;height:100%;
_color:white;
_text-decoration:none;
}
header nav ul li a:hover{
_color:orange;
_background-color:rgb(30,30,80);
}
header aside{
_position:absolute;
_right:20px;top:20px;
}
header aside ul{
}
header aside ul li{
_list-style-type:none;
_width:20px;height:20px;
_overflow:hidden;
_display:inline-block;
}
section h2{
_font-size:79px;
_font-family:"Oswald","century gothic",sans-serif;
_letter-spacing: -0.02em;
_margin:0;
_text-align:center;
}
section h2:first-letter{
_color:rgb(255,200,0);
}
section#Self-introduction h3{
_width:16em;
_margin:5px auto;
_text-align:center;
_font-weight:normal;
_font-size:14px;
_white-space:pre;
_padding-bottom:14px;
_background: url("http://mydesign.mods.jp/images/stroke.gif") repeat-x bottom;
}
#profile dd ul li{list-style:none;
_margin:0.4em 0;
_padding:0;
}
#profile dd ul li+li+li:before{
_content:"■ ";
}
body>article>footer{
_position:absolute;
_bottom:0;
_left:auto;
_background-color:rgb(220,220,220);
}
body>article>footer p{
_width:50%;max-width:1000px;margin:0 auto;
_padding-right:50%;
}
footer ul{
_position:absolute;
_right:0;top:5px;
_width:50%;
_text-align:center;
}
footer ul li{
_list-style:none;
_display:inline-block;
}
footer ul li+li:before{
_content:" | ";
}
footer ul li a{
_text-decoration:none;
_color:gray;
}
footer address{
_text-align:right;
}
-->
</style>
No.2
- 回答日時:
facebookのURLだけ修正
【サンプル】
★Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html# )
で検証済みHTML5
★タブは_に置換してあるので戻すこと。
★http://、https:// は、それぞれ http://、http:// に置換してあるので戻す。
<!DOCTYPE html>
<html lang="ja">
<head>
<title>ABOUT|MY DESIGN</title>
<link rel="shortcut icon" href="./images/favicon.ico">
<style media="screen">
<!--
/* この部分は外部スタイルーシートにするのが通常ですが、あえてここに書きます。
次の回答で */
-->
</style>
<style media="screen">
<!--
body>article>header nav ul li a[href="/about.html"]{
_color:red;
_/* カレントの場合のプレゼンテーションはここに書く */
}
-->
</style>
</head>
<body>
_<article>
_<header>
__<h1><a href="/index.html">MY DESIGN</a></h1>
__<nav>
___<ul><!-- ナビゲーションリンクはルートからのパスにしておくと℃の階層にも移動できる -->
____<li><a href="/index.html">TOP</a></li>
____<li><a href="/trip.html">TRIP</a></li>
____<li><a href="/works.html">WORKS</a></li>
____<li><a href="/about.html">ABOUT</a></li>
____<li><a href="/contact.html">CONTACT</a></li>
___</ul>
__</nav>
__<aside><!-- 本文と関係ないのでaside -->
___<ul>
____<li>
_____<a href="https://www.facebook.com/masaki.yamagata.3" target="_blank"><img alt="facebook" src="http://mydesign.mods.jp/images/icon_fb.png"></a>
____</li>
____<li>
_____<a href="http://instagram.com/husky0502/" target="_blank"><img alt="instagram" src="http://mydesign.mods.jp/images/icon_insta.png"></a>
____</li>
___</ul>
__</aside>
_</header>
_<section><!-- これはsection -->
__<h2>ABOUT</h2>
__<section id="Self-introduction"><!-- HTM5では、sectionの階層で構造を示す -->
___<h3>当サイトについて。<br>また当サイト制作者のプロフィール。</h3><!-- sectionひとつにつき必ずheadingひとつ -->
___<p>
____当サイトは、制作者の趣味の一つである「旅」の記録を発表する場として、またそれと同時に、写真を見てそれぞれの国の良さを少しでも感じていただき、そして旅へ興味を持つきっかけになればと思い、制作しました。
___</p>
___<p>
____また旅の記録をメインコンテンツとして、他ページではデザイナーである当方の個人もしくは仕事上でのデザインを一部掲載しております。
___</p>
__</section>
__<section>
___<h3>PROFILE</h3>
___<dl id="profile"><!-- ここは内容的に定義リスト -->
____<dt>誰それだれべぇ</dt>
____<dd>WEBデザイナー / グラフィックデザイナー<dd>
____<dd>
_____<ul><!-- 内容でない■などは入れてはならない。検索エンジンやスクリーンリーダーのことも考える-->
______<li>1980:大阪府生まれ</li>
______<li>2006:某デザイン系専門学校卒業。</li>
______<li>卒業後、グラフィックデザイナーとして、プロダクションなどで数年勤める。</li>
______<li>20代後半から海外の空気にハマり、東南アジア、中東などを転々と旅する。</li>
______<li>30代に入り、かねてから興味のあったWEBの世界へ。</li>
_____</ul>
____</dd>
___</dl>
__</section>
_</section>
_<footer>
__<p><!-- 一つの段落は切らない -->
___当サイト内に掲載されているすべての文章・画像・写真・デザインの無断転載、転用は日本の著作権法によって禁じられています。</p>
__</p>
__<ul>
___<li><a href="./index.html">TOP</a></li>
___<li><a href="./trip.html">TRIP</a></li>
___<li><a href="./works.html">WORKS</a></li>
___<li><a href="./about.html">ABOUT</a></li>
___<li><a href="./contact.html">CONTACT</a></li>
__</ul>
__<address>Copyright(C) 2015 MY DESIGN All Right Reserved.</address>
_</footer>
_</article>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング ホームページ作成について。「ワードプレスではありません」。 3 2023/08/13 14:44
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
- ノートパソコン ページ番号の入れ方について 3 2023/02/16 17:11
- WordPress(ワードプレス) wordpressでphpを読み込みたい 1 2022/10/30 23:40
- gooブログ 記事の下にスクロールバーが表示される 2 2022/08/19 20:42
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- WordPress(ワードプレス) ワードプレス Twenty Eleven 3 2022/07/09 20:33
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Word(ワード) Google ドキュメントで改ページを挿入する方法 1 2022/05/25 19:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リストマーカーをボックス内に...
-
<table>の高さ固定。情報増加時...
-
html/cssの、navを2段にする...
-
番号付きリスト(<Ol><Li>・・...
-
html <li>の中の文字一部に色を...
-
ol要素の番号とリスト項目の離...
-
htmlの<ol>タグで、数字などを...
-
画像横のテキストをセンターに...
-
レスポンシブWebデザインでリン...
-
HTMLで組織図を作成する方法
-
「・」(黒い点)を非表示にした...
-
CSS「table-cell」で横並びにし...
-
親ページ側からインラインフレ...
-
list-style-type部分だけ大きく...
-
CSS使用。表のセルの中で、強制...
-
CSS3グラデーションで、右端だ...
-
HTMLで画像を3つ並べる方法
-
横並びのボタンの背景を片方だ...
-
カルーセルスライダー「slick.j...
-
ulとliで囲った文字の一部を変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
番号付きリスト(<Ol><Li>・・...
-
liタグの中に<p>タグやら<dl>を...
-
レスポンシブWebデザインでリン...
-
<table>の高さ固定。情報増加時...
-
<ul><li></li></ul>にするメリ...
-
リストの数字のフォントサイズ...
-
HTMLで組織図を作成する方法
-
ulタグやliタグの中でbrタグ...
-
divタグ内のコンテンツが重なっ...
-
画像にリンクを張ると画像がず...
-
複数行にまたがる括弧を表示し...
-
ページを開いているときのリン...
-
html <ul></ul>の並びで一行空...
-
html/cssの、navを2段にする...
-
HTML5のfooterに見出しを付けて...
-
<ul>~</ul>が二つ続くと間に改...
-
htmlの<ol>タグで、数字などを...
-
リンク文字同士の間隔を開ける...
-
CSSでつくったメニューのアニメ...
おすすめ情報
ここまで丁寧に指導していただけるとは。。目からウロコの内容でした。非常に感謝しております。ありがとうございます。
当方CSSに関しては1ヶ月前から勉強しだした初心者なので、まだ全てを理解することはできませんが、サイトを手直ししながら少しずつ理解していきたいと思います。
つきまして。もう少し理解の幅を拡げたいので、下記別ページの添削もお願いできませんか?
http://mydesign.mods.jp/index.html
http://mydesign.mods.jp/trip_thailand.html
お手すきの際で結構です。何卒よろしくお願いいたします。