<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>たねっぱ！ &#187; position</title>
	<atom:link href="https://taneppa.net/tag/position/feed/" rel="self" type="application/rss+xml" />
	<link>https://taneppa.net</link>
	<description>コツコツあつめるWeb作りのためのたね　たねっぱ！Web系情報ブログ　Webのお役立ちネタ配信中！</description>
	<lastBuildDate>Tue, 09 May 2023 00:02:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>CSS positionを使ってみよう！</title>
		<link>https://taneppa.net/position/</link>
		<comments>https://taneppa.net/position/#comments</comments>
		<pubDate>Tue, 24 Jun 2014 01:20:29 +0000</pubDate>
		<dc:creator>yanoppa!</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[コーディング]]></category>
		<category><![CDATA[初心者向け]]></category>

		<guid isPermaLink="false">https://taneppa.net/?p=1752</guid>
		<description><![CDATA[CSS positionの基本的な使い方を紹介。relative, absolute, fixed, static。 マスターしてCSS初心者を抜け出そう！]]></description>
				<content:encoded><![CDATA[<style><!--
.tbl tr th,
.tbl tr td {
  padding:4px 0 4px 16px;
}
.tbl tr th {
  width:160px;
}
h3 {
  margin-top:20px;
}
--></style>
<div style="line-height: 2;">
<h2><span style="line-height: 2; font-size: 13px;">おはこんばんちわ、文章書くのまぢ難しいと嘆くやのっぱです(´・ω・｀)</span></h2>
<p>さて、よくpositionがよくわからなぃ。。。ﾖﾖﾖ</p>
<p>という声を聞くので、今日はpositionってなんぞや？というお話です。</p>
<p>position=ポジション<br /> その名の通り、位置を調整します。</p>
<p>プロパティはこんな感じ</p>
<table class="tbl" style="border: 1px solid #93580D;" border="1">
<tbody>
<tr>
<th scope="row">relative</th>
<td>相対位置</td>
</tr>
<tr>
<th scope="row">absolute</th>
<td>絶対位置</td>
</tr>
<tr>
<th scope="row">fixed</th>
<td>固定位置</td>
</tr>
<tr>
<th scope="row">static</th>
<td>通常位置</td>
</tr>
</tbody></table>
<p>合わせて使うプロパティ</p>
<table class="tbl" style="border: 1px solid #93580D;" border="1">
<tbody>
<tr>
<th scope="row">top</th>
<td>基準の上辺を基準に移動</td>
</tr>
<tr>
<th scope="row">right</th>
<td>基準の右辺を基準に移動</td>
</tr>
<tr>
<th scope="row">bottom</th>
<td>基準の下辺を基準に移動</td>
</tr>
<tr>
<th scope="row">left</th>
<td>基準の左辺を基準に移動</td>
</tr>
<tr>
<th scope="row">z-index</th>
<td>重ね順を指定</td>
</tr>
</tbody></table>
<p>と並べましたが、相対位置？絶対？なにそれ美味しいの？(´・ω・｀)<br /> ってなりますね。</p>
<p>こまかく説明すると余計わからなくなると思ったので、かむく。。噛み砕いて説明するよ！<br /> 上の表はちょっと忘れましょう。</p>
<h3>relative レラティブ</h3>
<p>元居たところから、位置を移動するよ！<br /> だけど、relativeで位置を調整することはほとんどないです。<br /> <strong>absoluteの基準にしたいボックス</strong>に与えるだけ！って決めて使ったほうが安全！！<br /> IEバグで空白いっぱい！とかになっちゃうこともあるから注意！</p>
<h3>absolute アブソリュート</h3>
<p>relative,absolute,fixedが与えられた親要素を基準に位置を移動できるよ！<br /> 親要素にpositionプロパティがなかったらbodyが基準になるので注意！！<br /> 動かしたい要素にabsoluteを与えたとたん、あれ？どこいった？ってなったら、親要素にプロパティが与えられているかも確認しましょう！</p>
<h3>fixed　フィックスト</h3>
<p>ウィンドウを基準に位置を指定できるよ！<br /> よく見るずっと右下に居るページトップボタンはこれですね！<br /> ウィンドウの下を基準に50px上(bottom:50px;)、右を基準に左へ50px(right:50px;)ってすると<br /> 右下にずっといることになります。<br /> IE6は対応してないから注意です！</p>
<h3>static　スタティック</h3>
<p>position使うのやめるよ！<br /> 通常の状態に戻す役割です！<br /> 一応説明したけど、使うことあまりないです。</p>
<p>あとはtopやleftで位置を調整したり、重ね順を調整するのがpositionってプロパティです。</p>
<p>といってもよくわからない、なのでデモを用意してみました！<br /> 実際にやってみましょう！</p>
<br /> <br /><style><!--
#Campus{
  position:relative;
  width:700px;
  height:500px;
  margin:0 auto;
  border:1px solid #444;
  background:#fff;
}
.attention {
  position:absolute;
  bottom:30px;
  left:0;
  width:100%;
  text-align:center;
}
#relative{
  position:relative;
  top:0px;
  left:0px;
  width:450px;
  height:300px;
  background:#C3FEFF;
  border:1px solid #ccc;
  transition:all 0.3s liner;
}
#absolute{
  position:absolute;
  top:0px;
  left:0px;
  width:150px;
  height:150px;
  background:#5EE46E;
}
#Campus table{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
}
#Campus table input[type=text]{
  width:50px;
}
--></style>
<div id="Campus">
<p class="attention">入力すると位置が変わります。pxまで打ち込んでね</p>
<div id="relative"></div>
<table id="input">
<tbody>
<tr>
<th>relative(水色)</th>
<td><label>top: <input id="rtop" type="text" value="0px" /> ;</label></td>
<td><label>left: <input id="rleft" type="text" value="0px" /> ;</label></td>
<th>absolute(緑)</th>
<td><label>top: <input id="atop" type="text" value="0px" /> ;</label></td>
<td><label>left: <input id="aleft" type="text" value="0px" /> ;</label></td>
</tr>
</tbody></table>
</div>
<script type="text/javascript">// <![CDATA[
$("#rtop").keyup(function(){
var rt = $("#rtop").val();
  $('#relative').css('top',rt);
});
$("#rleft").keyup(function(){
var rl = $("#rleft").val();
  $('#relative').css('left',rl);
});
$("#atop").keyup(function(){
var at = $("#atop").val();
  $('#absolute').css('top',at);
});
$("#aleft").keyup(function(){
var al = $("#aleft").val();
  $('#absolute').css('left',al);
});
// ]]&gt;</script><br /> <br />
<p>relativeが動くとabsoluteも動きましたね！<br /> relativeの中にあるabsoluteの基準は親のrelativeになっているんです。</p>
<p>relativeのない状態でabsoluteを置くとbodyが基準となりますので、注意です。<br /> 基本relativeで位置を調整するのではなく、親要素にrelativeを与えて、動かしたい子要素にabsoluteを与えるのが基本になると思います。</p>
<br />
<p>次に、z-indexですが、adobe製品を触ったことのある方ならレイヤーの順番といえばわかりやすいかと思います。<br /> relativeやabsoluteの重なり順になりますね。</p>
<p>これもわかりにくいと思いますので、またデモを作ってみました。</p>
<br /> <br /><style><!--
.attention02 {
  position:absolute;
  bottom:154px;
  left:0;
  width:100%;
  text-align:center;
  font-weight:bold;
}
#relative02{
position: relative;
top: 40px;
left: 120px;
width: 450px;
height: 300px;
background: rgba(87,247,255,0.60);
border: 1px solid #ccc;
z-index:0;
}
#absolute02{
position: absolute;
top: 0px;
left: -40px;
width: 150px;
height: 150px;
background: rgba(3,205,38,0.70);z-index:0;

}
#txtAbso{
position: absolute;
top: 130px;
left: -30px;
width: 160px;
font-weight:bold;z-index:0;

}
--></style>
<div id="Campus">
<div id="relative02">
<div id="absolute02"></div>
<div id="txtAbso">サンプルテキストだよ<br /> さんぷるテキストだよ<br /> サンプルてきすとダヨ<br /> サンぷるてきストだよ</div>
</div>
<table id="input">
<tbody>
<tr>
<th>relative<br /> (水色)</th>
<td><label>z-index: <input id="rz" type="text" value="0" /> ;</label></td>
<th>absolute<br /> (緑)</th>
<td><label>z-index: <input id="az" type="text" value="0" /> ;</label></td>
<th>text</th>
<td><label>z-index: <input id="tz" type="text" value="0" /> ;</label></td>
</tr>
</tbody></table>
<p class="attention02">入力すると重なり順が変わります。わかりやすいかと思い、色は半透明にしてます。</p>
</div>
<script type="text/javascript">// <![CDATA[
$("#rz").keyup(function(){
var rz = $("#rz").val();
  $('#relative02').css('z-index',rz);
});
$("#az").keyup(function(){
var az = $("#az").val();
  $('#absolute02').css('z-index',az);
});
$("#tz").keyup(function(){
var tz = $("#tz").val();
  $('#txtAbso').css('z-index',tz);
});
// ]]&gt;</script><br /> <br />
<p>なんとなく雰囲気はつかめましたでしょうか？<br /> 0を基準に重なり順を変えることができます。<br /> 指定しなかった場合は、HTMLを書いた順になります。<br /> HTMLは上から読んでいくので後に書いたほうが重なりは上になりますね。</p>
<br />
<p>注意すべきはrelativeが基準ということです。<br /> 入力すると重なり&#8230;のテキストはrelativeボックスの子要素ではないので、relativeボックスを高くすると文字が隠れます。<br /> 色々と入力してみて雰囲気を掴んでください！</p>
<br /> <br />
<p>最後に<strong>fixed</strong>です<br /> フィクスト(ド)はウィンドウを基準に固定されます。<br /> 使ったことのない人からするとなんのこっちゃ抹茶に紅茶ですね。<br /> よくheaderがずっとウィンドウ上部に居たり、サイドコンテンツがスクロールしてもずっと居るのがフィクストです。</p>
<p>気をつける点は、ウィンドウが基準ということ！<br /> 右にページヘ戻るボタンを配置した場合、ウィンドウ幅が狭くなっていくとコンテンツに被ってきたりします。<br /> よく考えて使用しないといけませんね！</p>
<p>デモは作りませんでしたが、Page Topボタンがfixedです。</p>
<p>でわこのへんで、よいコーディングライフを！(・ω&lt;)ﾉｼ</p>
</div>
]]></content:encoded>
			<wfw:commentRss>https://taneppa.net/position/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>見ながら覚えよう！positionプロパティ「absolute」と「relative」についてのお話</title>
		<link>https://taneppa.net/position_property/</link>
		<comments>https://taneppa.net/position_property/#comments</comments>
		<pubDate>Wed, 06 Feb 2013 09:05:51 +0000</pubDate>
		<dc:creator>yukappa!(INO)</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web制作]]></category>
		<category><![CDATA[position]]></category>

		<guid isPermaLink="false">https://taneppa.net/?p=212</guid>
		<description><![CDATA[positionプロパティ、難しいですよね･･･！はじめのうちは何度聞いても混乱してしまうこの二つ。
「absolute」と「relative」の違いについて、画像とあわせてまとめてみました。]]></description>
				<content:encoded><![CDATA[<p>私もちょっと長いこと、</p>
<ul>
<li>absolute＝絶対位置</li>
<li>relative＝相対位置</li>
</ul>
<p>といわれても全然ピンときてませんでした。「絶対？相対？どういう意味？」という感じだったのですが、<br />
きっと、考えるより実際見てみたほうがわかりやすいと思います！</p>
<p>実際にページに配置して確認してみましょう。</p>
<h2>01ページ内に配置してみる</h2>
<p>&lt;body&gt;～&lt;/body&gt;内のソース</p>
<blockquote><p>&lt;body&gt;<br />
&lt;div id=&#8221;box&#8221;&gt;配置するボックス&lt;/div&gt;<br />
&lt;p&gt;テキスト&lt;/p&gt;<br />
&lt;/body&gt;</p></blockquote>
<h3>「absolute」</h3>
<p>ページ左上から120px、左から120pxの場所に表示されます。</p>
<p><a href="https://taneppa.net/wp-content/uploads/2013/02/01.jpg"><img class="alignnone size-full wp-image-213" alt="01" src="https://taneppa.net/wp-content/uploads/2013/02/01.jpg" width="600" height="279" /></a></p>
<h3>「relative」</h3>
<p>ページ左上から120px、左から120pxの場所に表示されます。･･･が！！！テキストの場所が違います。 <a href="https://taneppa.net/wp-content/uploads/2013/02/02.jpg"><img class="alignnone size-full wp-image-214" alt="02" src="https://taneppa.net/wp-content/uploads/2013/02/02.jpg" width="600" height="279" /></a></p>
<p>テキストの上部に謎の隙間ができますね・・・<br />
これは、relativeが元々表示されるはずだった高さが残るためです。<br />
元々あるべき位置から見た目だけ右下にずれた。と考えたほうがわかりやすいかもしれません。<br />
<a href="https://taneppa.net/wp-content/uploads/2013/02/03.jpg"><img class="alignnone size-full wp-image-215" alt="03" src="https://taneppa.net/wp-content/uploads/2013/02/03.jpg" width="600" height="279" /></a></p>
<p>この表示のクセがわかれば簡単です！<br />
次もきっとさくさくわかるハズ(*´o｀*)ﾉ</p>
<h2>02ボックスが重なった場合</h2>
<p>次に、ボックスが2つになった場合を見てみましょう<br />
下の黄緑色のボックスは</p>
<blockquote><p>position:relative;<br />
top:100px;<br />
left:100px;</p></blockquote>
<p>で位置指定をしています</p>
<p>配置するボックスは<br />
ページ上から120px、左から120pxの場所に表示されます。</p>
<p>&lt;body&gt;～&lt;/body&gt;内のソースは</p>
<blockquote><p>&lt;body&gt;<br />
&lt;div id=&#8221;box1&#8243;&gt;下に敷いているボックス&lt;/div&gt;<br />
&lt;div id=&#8221;box2&#8243;&gt;配置するボックス&lt;/div&gt;<br />
&lt;/body&gt;</p></blockquote>
<p>としています。</p>
<p>それでは、二つの配置を確認してみましょう！</p>
<h3>「absolute」</h3>
<p>下のボックスなんて問答無用！で左上からの絶対位置に表示されます</p>
<p><a href="https://taneppa.net/wp-content/uploads/2013/02/04.jpg"><img class="alignnone size-full wp-image-220" alt="04" src="https://taneppa.net/wp-content/uploads/2013/02/04.jpg" width="600" height="279" /></a></p>
<h3>「relative」</h3>
<p>黄緑色のボックスは「relative」指定だったので実は元々あった場所に高さが残っていました。<br />
ちょっとややこしいのですが、ピンクのボックスは元は<strong>「半透明になっている黄緑ボックス」</strong>の下に配置されるはずだったのですが、(さっきのピンクのボックスのテキスト位置を思い出してみてください(*´o｀*)！「relative」で位置を指定しているので「本来配置されるべき位置」からの座標位置に配置されています</p>
<p><a href="https://taneppa.net/wp-content/uploads/2013/02/05.jpg"><img class="alignnone size-full wp-image-221" alt="05" src="https://taneppa.net/wp-content/uploads/2013/02/05.jpg" width="600" height="338" /></a></p>
<h2>03ボックスの中に配置した場合</h2>
<p>次に、ボックス内に配置した場合の「absolute」「relative」の違いを確認してみましょう</p>
<p>外側の灰色のボックスは<br />
先ほどと同じく、</p>
<blockquote><p>position:relative;<br />
top:100px;<br />
left:100px;</p></blockquote>
<p>で位置指定をしています<br />
※padding指定は20pxにしています。(薄い灰色で塗りつぶした部分)</p>
<p>配置するボックスは<br />
基準点より上から20px、左から20pxの場所に表示されます。</p>
<p>&lt;body&gt;～&lt;/body&gt;内のソースは</p>
<blockquote><p>&lt;body&gt;<br />
&lt;div id=&#8221;box1&#8243;&gt;&lt;div id=&#8221;box2&#8243;&gt;配置するボックス&lt;/div&gt;&lt;/div&gt;<br />
&lt;/body&gt;</p></blockquote>
<p>※box1＝外側の灰色ボックスです</p>
<h3>「absolute」</h3>
<p>親となるボックスの左上を基準点とし、<br />
上から20px、左から20pxの場所に表示されます。</p>
<p><a href="https://taneppa.net/wp-content/uploads/2013/02/06.jpg"><img class="alignnone size-full wp-image-218" alt="06" src="https://taneppa.net/wp-content/uploads/2013/02/06.jpg" width="600" height="279" /></a></p>
<h3>「relative」</h3>
<p>元々配置されるべきだった「paddhingを含めた描画位置」を基準点とし、上から20px、左から20pxの場所に表示されます。</p>
<p><a href="https://taneppa.net/wp-content/uploads/2013/02/07.jpg"><img class="alignnone size-full wp-image-219" alt="07" src="https://taneppa.net/wp-content/uploads/2013/02/07.jpg" width="600" height="279" /></a></p>
<h2>まとめ</h2>
<p><span style="color: #4d98f8;"><strong>青のボックス「absolute」</strong></span>は親ボックスの指定が何であっても、必ず左上を基準点とする(絶対位置)<br />
→基準点から数値を指定して、表示したい場所に配置したいときに便利<br />
<span style="color: #f57979;"><strong>ピンクのボックス「relative」</strong></span>は本来ピンクのボックスが表示される位置を基準として配置(相対位置)<br />
→「元の位置から○ピクセルずらしたい」というときに使用すると便利</p>
<p>気をつける点：親ボックスの位置や設定を受ける場合があるので(特にrelative)忘れず注意すること</p>
<p>よく使われるパターンは親ボックスがrelative(またはabsolute)、その中にabsoluteです。</p>
<p>わかりづらいけれど使えるようになるととっても便利なpositionプロパティ、<br />
どんどんチャレンジしてみましょう！</p>
]]></content:encoded>
			<wfw:commentRss>https://taneppa.net/position_property/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
