【11-3】はみ出て便利♪ ネガティブ・マージン(Negative Margin)

最終更新日:2017年11月13日  (初回投稿日:2015年11月17日)

marginは、正の数値だけじゃなく、マイナスの数値も指定できます
これを、ネガティブ・マージン(Negative Margin)と言います。
古くから(CSS1から)あるので、IE6でも表示できます。

マイナスの数値で指定すると、マージンが親要素を突き破って外に出るというイメージ。
中身がはみ出るって言ったほうがわかりやすいかも。
マイナスのマージンを与えるだけで、要素を簡単にはみ出させることができるので、レイアウトするのにとっても便利。これは知っててお得です。

サンプルを見てみましょう。
あんまり実用的なサンプルじゃないけど、中身がはみ出る様子はわかりますね。

  • List1
  • List2

HTMLはこちら。

<div id="sample1">
 <ul>
  <li>List1</li>
  <li>List2</li>
 </ul>
</div>

CSSはこちら。

div#sample1 {
	border:solid 1px #ccc;
    font-weight:bold;
	margin:0 auto 3em;
	padding:0;
	width:90%;}
div#sample1 ul {
	padding:0;
	margin:0 -2em -2em 0;}  /*マイナスの値が ネガティブ・マージン*/
div#sample1 ul li {
	margin:1em;
	padding:1em;
	list-style:none;
	background:rgba(102, 153, 255, 0.5);
	border-radius:5px;
	color:#fff;
	line-height:1em;}

<ul>に右のネガティブ・マージン -2em を指定すると、<ul>は親の<div>から右が2emはみ出ます。
中の<li>には margin: 1em と指定しているので、<ul>の右端より1em 中に入る。
なので <li>要素はトータル 1em だけ <div>から右にはみ出ているように見えるんです。
下側のネガティブ・マージン(margin-bottom: -2em)も同じことです。

では、もうちょっと実用的なサンプルを。

column

How to use Negative Margin


こんな↑かんじで、img要素に ネガティブ・マージンを使って、親要素からはみ出させることができます。( position: absolute を使う方法もありますが、マージンだけでできるって便利ですね)


このように↑ hr要素の左右に ネガティブ・マージンを使って、親要素の padding の分をはみ出させて、親要素の border にくっつけることもできます。

HTMLはこちら。

<div id="sample2">
  <img src="img/column.png" alt="column">
  <h4>How to use Negative Margin</h4>
  <hr>
  <p>こんな↑かんじで、img要素に...(略)</p>
  <hr>
  <p>このように↑ hr要素の左右に...(略)</p>
</div>

CSSはこちら。

div#sample2 {
	border:solid 1px #c2da69;
    padding:0 1em; width:90%;
    margin:0 auto;}
div#sample2 img {
	display:inline-block;
	vertical-align:text-bottom;
	margin:-1em 0 -1em -3em;}
div#sample2 h4 {
	display:inline-block;
	margin:0;
	padding:0;
	color:#9cb737;
	font-size:140%;
	line-height:2em;}
div#sample2 hr {
	border:none;
    height:0;
    border-bottom:#c2da69 solid 1px;
	margin:0 -1em;}
div#sample2 p {margin:1em 0;}

こうなっています。

ネガティブ・マージン、使えますね。
特に hr要素を左右にはみ出させるあたり、親要素の padding はそのままでイケルので便利ですね。

次回予告

次回もまだ margin の話が続きます。
marginには、marginの相殺(margin collapsing)と呼ばれる独特のルールがあります。これがまた、ややっこしいんだなあ。
次回は marginの相殺をじっくり見てみましょう。

関連記事
この記事をはてなブックマークに追加

やる気を保つためにランキングに参加しています。
応援してくださると すっごいやる気を出します! (笑)

初心者にも使いやすい(と思う)レンタルサーバー

「レンタルサーバーはどこがいい?」とご質問をよくいただきますが、自分でも使っていてオススメなのは スターサーバー (ミニバードがスターサーバになりました)。管理画面がわかりやすくていい感じす。
仕事で使ってるロリポップ!もわかりやすい管理画面で、初めてでもすんなり使えます。
両方とも、なんといっても料金が安いです。

ちょっと料金は高いけど、高スペックでコスパが良く、信頼性も高いサーバといえば、やはりさくらのレンタルサーバと、エックスサーバー 。この2つは老舗でユーザーも多いので、質問する場がたくさんあり、初心者の方でもイケるだろうと思います。

スポンサーリンク

コメントの投稿

ご注意:メールアドレスは書かないで
「コメントを送信する」ボタンを押した後の「確認画面」で、メールアドレス・URL などを入力できるようになっており、メールアドレス・URL は、そのままオートリンクになる仕様です。
当方でメールアドレスだけ削除することも、メールアドレスを非公開にすることもできません
メールアドレスは書かないでください。詳しくはこちらにまとめましたのでご覧ください。

スポンサーリンク
最新記事
Category
オススメの本
Links
Calendar
10 | 2018/11 | 12
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
Archive
RSS Link
Profile

yuki★hata

Author : yuki★hata
せめて月1回の更新をめざします~。

メールフォームはこちら

スポンサーリンク
スポンサーリンク
Copyright © ほんっとにはじめてのHTML5とCSS3 All Rights Reserved.