<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>d-spica</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/" />
    <link rel="self" type="application/atom+xml" href="http://blog.d-spica.com/atom.xml" />
    <id>tag:blog.d-spica.com,2008-06-20://1</id>
    <updated>2008-11-17T09:16:19Z</updated>
    <subtitle>Web標準のXHTML+CSSデザイン，フリーランスの仕事術</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 4.261</generator>

<entry>
    <title>発生主義で制作のながれを見る</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/081117manage.html" />
    <id>tag:blog.d-spica.com,2008://1.56</id>

    <published>2008-11-17T09:07:35Z</published>
    <updated>2008-11-17T09:16:19Z</updated>

    <summary> 何回かに分けて「複式簿記はいいよ」という話をしてきました。でも，複式簿記の帳票だけでは，十分に把握しきれないこともあります。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="管理" label="管理" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="評価" label="評価" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-work.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>何回かに分けて「複式簿記はいいよ」という話をしてきました。でも，複式簿記の帳票だけでは，十分に把握しきれないこともあります。</p>
</div>
]]>
        <![CDATA[<h4>売上を計上するまでは帳票には現れてこない</h4>
<p>ぼくのしている仕事の場合，受注してからその報酬が入るまでに，ある程度の期間があります。だいたい，2ヶ月から4ヶ月。長いものだと半年，一年ということもあります。ふつう，納品・検収が終わり，請求書を出したところで売上を計上するための伝票を書きます。（例外もありますが）</p>
<p>伝票に書くまでは，それ以前にいくら仕事をしていても，帳簿上には現れてこないのです。</p>
<p>自転車操業的にやっているぼくとしては，ちょっと不便を感じることがありました。</p>
<h4>制作中のお金の動きを表してみる</h4>
<p>そこで，次の金額を常時把握できるようにしてみました。</p>
<ul>
  <li>見積額</li>
  <li> 受注額（受注時の見積額）</li>
  <li> 作業額（実際に作業した額）</li>
  <li> 請求額</li>
  <li> 入金額 </li>
  </ul>
<p>ぼくの場合，作成したファイル，行った作業に対して課金するようにしています。index.html がいくら，common.css がいくら，MovableType インストールがいくら，というふうに。ファイルが出来上がったとき，作業が済んだとき，その内容と料金を明細書に書き足していきます。これを合計すると「作業額」が出せます。</p>
<p>そして，それぞれの金額の差を出します。</p>
<dl>
  <dt>A ＝ 見積額 － 受注額 ＝ <em>未受注額</em></dt>
  <dd> 見積は出したが，まだ受注していないというもの。将来，売上になるかもしれない額です。</dd>
  <dt>B ＝  受注額 －  作業額 ＝ <em>未作業額</em></dt>
  <dd> 受注したもののうち，今から稼ぐ分です。収入が保証されているこれから先の仕事です。</dd>
  <dt>C ＝  作業額 －  請求額 ＝ <em>未請求額</em></dt>
  <dd> まだ現金化できませんが，すでに稼いだ分です。</dd>
  <dt>D ＝ 請求額 － 入金額 ＝ <em>売掛金</em></dt>
  <dd>（ここからは複式簿記の帳票に現れる）</dd>
  <dt>E ＝ 入金額</dt>
  <dd> 現金化された収入</dd>
</dl>
<h4>仕事をすると順に動いていく</h4>
<p>仕事をすることによって，お金はAからEに向かって，順に動いていくことになります。</p>
<p> 大雑把に言うと，Aをとってくるのが営業，AをBに移すのが企画，BをCに移すのが制作，CをDに移すのが経理の仕事になります。（DをEに移すのは信用かな...）</p>
<p>ぼくが使っている表の一部を載せておきます。（支障がないようにあちこち書き換えたり削ったりしてありますが）</p>
<div id="manage">
<table summary="9列9行の表です。">
  <colgroup span="4" class="item"></colgroup>
  <colgroup span="5" class="condition"></colgroup>
  <thead>
    <tr>
      <th scope="col">案件名</th>
      <th scope="col">入金予定日</th>
      <th scope="col">納品予定日</th>
      <th scope="col">レベル</th>
      <th scope="col">E入金額</th>
      <th scope="col">D売掛額</th>
      <th scope="col">C未請求額</th>
      <th scope="col">B未作業額</th>
      <th scope="col">A未受注額</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <th colspan="4" scope="row">合計</th>
      <td>&yen;285,000</td>
      <td>&yen;96,000</td>
      <td>&yen;189,000</td>
      <td>&yen;266,000</td>
      <td>&yen;148,000</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <th scope="row">案件1</th>
      <td>08-10-31</td>
      <td>08-09-17</td>
      <td>e</td>
      <td>&yen;165,000</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
    </tr>
    <tr>
      <th scope="row">案件2</th>
      <td>08-11-30</td>
      <td>08-10-22</td>
      <td>d</td>
      <td>&nbsp;</td>
      <td>&yen;60,000</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
    </tr>
    <tr>
      <th scope="row">案件3</th>
      <td>08-12-31</td>
      <td>08-11-10</td>
      <td>c</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&yen;225,000</td>
      <td>&yen;30,000</td>
      <td>&yen;0</td>
    </tr>
    <tr>
      <th scope="row">案件4</th>
      <td>09-01-31</td>
      <td>08-11-25</td>
      <td>b</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&yen;200,000</td>
      <td>&yen;0</td>
    </tr>
    <tr>
      <th scope="row">案件5</th>
      <td>&nbsp;</td>
      <td>08-11-30</td>
      <td>a</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&yen;148,000</td>
    </tr>
    <tr>
      <th scope="row">案件6</th>
      <td>08-04-30</td>
      <td>09-03-31</td>
      <td>f</td>
      <td>&yen;120,000</td>
      <td>&yen;0</td>
      <td><em>&yen;36,000</em></td>
      <td>&yen;36,000</td>
      <td>&yen;0</td>
    </tr>
    <tr>
      <th scope="row">案件7</th>
      <td>07-08-31</td>
      <td>07-07-19</td>
      <td>g</td>
      <td>&nbsp;</td>
      <td>&yen;36,000</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
      <td>&yen;0</td>
    </tr>
  </tbody>
</table>
</div>
<ul>
  <li>レベルは，a:未受注，b:待機，c:制作中，d:売掛，e:入金，f:先払，g:貸倒。</li>
  <li>より現金に近いものが左上に来るようにソートしてあります。&yen;0 でないところを見ると，上のものほど左に来ていることがわかると思います。</li>
  <li>下には，作業が残っているけれどすでに入金されたものと，貸倒しそうなものをまとめてあります。赤字になっているところは，先払でお金はもらってあるけれど，まだ残っている作業分です。貸倒分は伝票で「貸倒損失」の処理をするまで残しておきます。</li>
  <li>実際には，この表のさらに右側に「見積額・受注済みの見積額・実際に作業した額・請求額・入金額 」とそれぞれ日付を入力する欄があり，それをもとにして，計算されるようになっています。</li>
</ul>
<p>現在進行中の仕事の状況を示すA，B，Cあたりの金額が，会計の帳簿だけでは把握できない部分です。どこで取りこぼしがあったか，どこが遅れているか。それが分かると，営業の戦略決定や，受注済み案件の進行管理の参考資料にもなります。</p>
<p>また，このながれを見ると，将来（と言ってもせいぜい半年先までですが）の収入の予測が立てられます。「○月はいくらの収入がある」とか，「もっと仕事をとらないと○月はやばいぞ」とか。</p>
<p>実はこれ，発生主義をつきつめていったらこうなった，という表です。</p>
<h4>関連</h4>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/081020bookkeeping.html">複式簿記で見えてきたこと | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081027journalize.html">フリーランスの仕訳の豆知識 | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081102ringokeiritien.html">会計ソフト RingoKeiriTien | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081110accrualbasis.html">複式簿記をするなら発生主義で | d-spica</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>複式簿記をするなら発生主義で</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/081110accrualbasis.html" />
    <id>tag:blog.d-spica.com,2008://1.55</id>

    <published>2008-11-10T11:58:57Z</published>
    <updated>2008-11-10T12:02:25Z</updated>

    <summary> 複式簿記のつけ方に，現金主義と発生主義があります。現金が動かない取引まで記録するのが発生主義です。複式簿記をするなら，ぜひ発生主義で。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="経理" label="経理" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="複式簿記" label="複式簿記" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-work.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>複式簿記のつけ方に，現金主義と発生主義があります。現金が動かない取引まで記録するのが発生主義です。複式簿記をするなら，ぜひ発生主義で。</p>
</div>
]]>
        <![CDATA[<h4>65万円の青色申告特別控除を受けるには</h4>
<p>確定申告のために，<strong>発生主義</strong>で複式簿記を記帳し，貸借対照表と損益計算書を提出すれば，青色申告特別控除として65万円が控除されます（課税対象額から差し引かれる）。発生主義の複式簿記でないと控除額は10万円です。課税対象となる所得が900万円未満なら，税率は10％から16％くらいになりますから，発生主義の複式簿記をやることで55,000円から88,000円程度の節税になります。</p>
<p>いくら会計ソフトで複式簿記をやっていても，<em>現金主義</em>でやっていたのでは，65万円の控除は受けられません。というより，発生主義でやるために複式簿記が必要なのです。</p>
<h4>現金主義と発生主義</h4>
<p>現金の受け渡し（口座からの入出金も含めて）があった時点で伝票を作るのが「<em>現金主義</em>」です。基本的に <a href="http://blog.d-spica.com/entry/081020bookkeeping.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> 複式簿記で見えてきたこと</a> で出てきた売掛金とか買掛金という考え方はなくなります。ASKULで事務用品を買ったのは，銀行振込をした日ということになります。未払いの買掛金があったとしても，帳簿上には現れません。</p>
<p>これに対して，現金の受け渡しだけに依らず，実際に取引がされた時点で伝票を切るのが「<em>発生主義</em>」です。ASKULで事務用品を買った例でいうと，事務用品を手に入れたときと，その支払いをしたとき，計2枚の伝票を作ることになります。事務用品を手に入れたときは現金は動いていませんが，これも記録するのです。</p>
<p><em>現金になっていないもの，現金以外のものまで見ようとするのが発生主義</em>です。固定資産の減価償却などはそのよい例です。</p>
<h4>複式簿記のキモ</h4>
<p>たぶん，複式簿記のキモは，<em>発生主義で経済活動を見る</em>ということだと思います。大雑把に「仕訳がむずかしい ≒ 現金主義では見えなかったところ」と言って間違いないでしょう。仕訳を覚えながら，見えなかったところが見えるようになる。もう一歩深く見る。</p>
<p>家計簿や小遣い帳などの金銭出納帳は，いわば現金主義で書かれたものです。そんな経験しかなかったぼくが，複式簿記をやるようになって発生主義に目覚めた，ということなのです。</p>
<p>ちなみに，科目を少々書き換えれば家計簿や小遣い帳も会計ソフトでできます。</p>
<h4>関連</h4>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/081020bookkeeping.html">複式簿記で見えてきたこと | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081027journalize.html">フリーランスの仕訳の豆知識 | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081102ringokeiritien.html">会計ソフト RingoKeiriTien | d-spica</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>会計ソフト RingoKeiriTien</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/081102ringokeiritien.html" />
    <id>tag:blog.d-spica.com,2008://1.54</id>

    <published>2008-11-03T12:06:22Z</published>
    <updated>2008-11-10T12:04:51Z</updated>

    <summary> 複式簿記をするのに会計ソフト使うと便利です。伝票を入力していけば，いろいろな帳票が自動的に集計されて表示されます。経営状態を把握したり，確定申告の際にも役に立ちます。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="経理" label="経理" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="software" label="software" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-work.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>複式簿記をするのに会計ソフト使うと便利です。伝票を入力していけば，いろいろな帳票が自動的に集計されて表示されます。経営状態を把握したり，確定申告の際にも役に立ちます。</p>
</div>
]]>
        <![CDATA[<h4>RingoKeiriTien</h4>
<p>ぼくの仕事は，仕入れもほとんどないし，売上も数万円，数十万円単位だし，1年間に取引のあるお客様も100に満たないですから，簿記をつけるのもそんなに大変ではありません。数万円も出して会計ソフトを購入しなくても，フリーのソフトで十分やっていけます。</p>
<p> ぼくが今使っているのは，Mac用の <a href="http://home.global.co.za/~higaki/RingoKeiriTien.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> RingoKeiriTien</a> というものです。大がかりではないし，勘定科目もいじれるので，快適に使わせてもらっています。補助科目を使うと，取引先ごとに分類もできます。</p>
<p>作成できる主な帳票は次の通り。</p>
<dl>
  <dt>振替伝票</dt>
  <dd> 実際に仕訳をする伝票です。取引やお金にかかわることはすべて，この伝票に入力していきます。</dd>
  <dt>出納帳</dt>
  <dd> 現金や預金口座ごとの出納帳です。選択したものが表示されます。<br />
    帳簿上の現金や預金の残高が実際と合っているかをチェックするときによく開きます。</dd>
  <dt>合計残高試算表</dt>
  <dd> 貸借対照表（BS）と損益計算書（PL）が期間を指定して表示されます。<br />
    <a href="http://blog.d-spica.com/entry/081027journalize.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> フリーランスの仕訳の豆知識</a> で説明したとおり，BSは現在お金がどのような形であるか，PLは期間内にお金がどのように動いたかがわかります。</dd>
  <dt>年間推移試算表</dt>
  <dd> 貸借対照表（BS）と損益計算書（PL）が月毎に集計され，一覧表になって表示されます。<br />
    月ごとの比較や推移がわかりやすくなります。損益計算書（PL）で，売上はどれくらいあったか，経費として何に出費しているか，などを見ることは多いです。</dd>
  <dt>補助残高試算表</dt>
  <dd> 売掛金・買掛金とそれにかかわる科目の残高が表示されます。<br />
    将来入るお金と出るお金です。収入や支出の予定を考えるときに開きます。自転車操業的にやっているぼくには，ここがかなり重要です。</dd>
  <dt>仕訳日記帳・総勘定元帳／補助元帳</dt>
  <dd> 特定のものだけを見たいというときは，条件を指定してマッチするものを表示させます。</dd>
  <dt>資産管理台帳</dt>
  <dd> 取得日，取得価額，耐用年数，定額率などを入力しておけば，減価償却費や簿価を自動的に算出してくれます。減少履歴に減価償却した分を記録できます。</dd>
</dl>
<p>「確定申告のため」という目的も大きいのですが，せっかくこうしたものが集計されるのですから，利用しない手はありません。これらの「数」を読んで，経営にうまく生かせるようにしたいのですが...。</p>
<h4>確定申告</h4>
<p>以前は，確定申告用の提出書類を手書きしていたので，よく計算ミスや記入ミスをして，新しいものを書き直したり，消し線を引いて訂正印を押したりしていました。18年度分からは，国税庁の <a href="https://www.keisan.nta.go.jp/h18/ta_top.htm"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> 確定申告書等作成コーナー</a> で入力して，プリントアウトしたものを提出しています。貸借対照表・損益計算書を含む青色申告決算書と，確定申告書が作成できます。基本的なところだけ入力すれば，後は計算してくれます。間違えても，入力し直して再度印刷すれば済みます。</p>
<p>伝票をちゃんと入力してあれば，確定申告はそれほど大変なことではありません。</p>
<h4>関連</h4>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/081020bookkeeping.html">複式簿記で見えてきたこと | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081027journalize.html">フリーランスの仕訳の豆知識 | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081110accrualbasis.html">複式簿記をするなら発生主義で | d-spica</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>フリーランスの仕訳の豆知識</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/081027journalize.html" />
    <id>tag:blog.d-spica.com,2008://1.53</id>

    <published>2008-10-27T13:41:30Z</published>
    <updated>2008-11-10T12:07:58Z</updated>

    <summary> 開業して間もないころ，複式簿記での「仕訳」のしかたがわからなくてちょっと困ったものをいくつか紹介してみます。個人事業主として確定申告する方むけです。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="経理" label="経理" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="複式簿記" label="複式簿記" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-work.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>開業して間もないころ，複式簿記での「仕訳」のしかたがわからなくてちょっと困ったものをいくつか紹介してみます。個人事業主として確定申告する方むけです。</p>
</div>
]]>
        <![CDATA[<p><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> <a href="http://blog.d-spica.com/entry/081020bookkeeping.html">複式簿記で見えてきたこと</a> とあわせてご覧いただくとわかりやすくなると思います。</p>
<p>あちこちで少々かじった知識ですし，法改正なども行われていますので，不適切なところがありましたら，ご指摘ください。</p>
<h4>事業主貸</h4>
<p>帳簿上は，仕事をしている自分とそれ以外の自分は別ものです。預金口座も仕事用と個人用のものを持っています。仕事では「屋号」を名のり，領収書などにも屋号を書いてもらいます。で，仕事ではない自分，屋号のついていない自分，つまり私人たる自分を，会計上では「<em>事業主</em>」と言います。</p>
<p>「100,000円の制作費が入金された」というとき，入金されたのは仕事用の口座になります。これはまだ，ぼく個人が生活費や遊びに使えるお金ではありません。いわば給与のようにして，ぼくが受け取ったとき，初めてぼく個人のお金になります。</p>
<p>仕事用のお金を事業主のものにしたとき，仕訳では次のようになります。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>03-15</td>
    <td>事業主貸</td>
    <td class="money">100,000</td>
    <td>普通預金</td>
    <td class="money">100,000</td>
  </tr>
</table>
<p>「<em>事業主貸</em>」とは，事業主に貸す（渡す）ことです。</p>
<h4>事業主借</h4>
<p>事業主が，仕事のためのお金を補填するというふうなこともあります。この場合は「<em>事業主借</em>」，つまり事業主から借りる（もらう）ということになります。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>04-10</td>
    <td>ソフトウエア費</td>
    <td class="money">94,500</td>
    <td>事業主借</td>
    <td class="money">94,500</td>
  </tr>
</table>
<p>ソフトウエア購入分を事業主が補填したことになります。</p>
<p>「事業主貸」の総計から「事業主借」の総計を差し引いた分が，実質的に事業主が受け取った給与ということになります。</p>
<h4>仕事に合わせて科目を作る</h4>
<p>固定資産の中に「ソフトウエア」「工具器具備品」という科目があります。ソフトウエアやハードウエアを購入した際，<em>10万円以上のものは固定資産</em>にします。ふつう，10万円未満のものは「消耗品費」として処理します。</p>
<p>が，ぼくの仕事の性質上，10万円未満のソフトウエアやハードウエアを購入することはよくあるので，この金額を把握しやすくするために，「<em>ソフトウエア費</em>」（「費」をつけておかないと固定資産の「ソフトウエア」と区別がつかなくなる）「<em>ハードウエア費</em>」という科目を設けました。</p>
<p>もうひとつ「<em>システム使用費</em>」という科目も作りました。レンタルサーバーやドメイン，インターネット接続，有料のWebサービスなどを利用するための費用です。</p>
<h4>電気料等</h4>
<p>SOHOでやっている場合，家賃・電気料・水道料・ガス代などは，仕事で使っている分と，個人で使っている分がある，ということになります。常識的に考えて妥当な割合で仕事分と個人分に分け，仕事分は経費にすることができます。</p>
<p>たとえば電気代の50％は仕事分というふうに。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
    <th></th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="note">備考</th>
  </tr>
  <tr>
    <td>04-20</td>
    <td>水道光熱費</td>
    <td class="money">3,251</td>
    <td>事業主借</td>
    <td class="money">3,251</td>
    <td class="note">3月電気料<br />
      6,502 × 50%</td>
  </tr>
</table>
<p>貸方が「事業主借」となっているのは，事業主の個人の口座から，仕事分と個人分をまとめて引き落としてあるからです。</p>
<p>仕事用の口座から引き落とす場合は，次のようになります。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
    <th></th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="note">備考</th>
  </tr>
  <tr>
    <td>04-20</td>
    <td>水道光熱費</td>
    <td class="money">3,251</td>
    <td>普通預金</td>
    <td class="money">6,502</td>
    <td class="note">3月電気料<br />
      6,502 × 50%</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>事業主貸</td>
    <td class="money">3,251</td>
    <td>&nbsp;</td>
    <td class="money">&nbsp;</td>
    <td class="note">&nbsp;</td>
  </tr>
</table>
<p>引き落とされた6,502円のうち3,251円が電気料，残りの3,251円は事業主の分ということです。</p>
<h4>Suicaを使う</h4>
<p>3,000円をチャージして往復の電車賃210円×2を使った，という場合。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>05-10</td>
    <td>旅費交通費</td>
    <td class="money">3,000</td>
    <td>現金</td>
    <td class="money">3,000</td>
  </tr>
</table>
<p>と，チャージしたときに旅費交通費として処理することもできますが，実際に使ったのは420円で，まだ2,580円の残があることがわからなくなってしまいます。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
    <th></th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="note">備考</th>
  </tr>
  <tr>
    <td>05-10</td>
    <td>仮払金</td>
    <td class="money">3,000</td>
    <td>現金</td>
    <td class="money">3,000</td>
    <td class="note">Suicaチャージ</td>
  </tr>
  <tr>
    <td>05-10</td>
    <td>旅費交通費</td>
    <td class="money">210</td>
    <td>仮払金</td>
    <td class="money">210</td>
    <td class="note">○○駅-△△駅 </td>
  </tr>
  <tr>
    <td>05-10</td>
    <td>旅費交通費</td>
    <td class="money">210</td>
    <td>仮払金</td>
    <td class="money">210</td>
    <td class="note">△△駅-○○駅 </td>
  </tr>
</table>
<p>Suicaにチャージした3,000円をとりあえず「仮払金」として処理します。（仮払金は流動資産の科目になります）　そこから往復の電車賃を支払います。こうしておくと，Suicaの残高も資産として扱えるようになります。</p>
<p>仮払金というのは，出張などに行く従業員に「とりあえずこれだけ渡しておくから」というふうなお金で，期間を置かずに，使途がはっきりしたところで処理しなければならないものです。長期間，仮払金のままだとよくありません。</p>
<p> そこで，仮払金でなく，流動資産のところに「<em>電子マネー</em>」というふうな科目を立てて処理するのもよいかもしれません。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
    <th></th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="note">備考</th>
  </tr>
  <tr>
    <td>05-10</td>
    <td>電子マネー</td>
    <td class="money">3,000</td>
    <td>現金</td>
    <td class="money">3,000</td>
    <td class="note">Suicaチャージ</td>
  </tr>
  <tr>
    <td>05-10</td>
    <td>旅費交通費</td>
    <td class="money">210</td>
    <td>電子マネー</td>
    <td class="money">210</td>
    <td class="note">○○駅-△△駅 </td>
  </tr>
  <tr>
    <td>05-10</td>
    <td>旅費交通費</td>
    <td class="money">210</td>
    <td>電子マネー</td>
    <td class="money">210</td>
    <td class="note">△△駅-○○駅</td>
  </tr>
</table>
<p>電車賃を経費にするためには，どこに何の目的で行ったかが明確にできなければなりません。Suicaの利用明細をとっておくとよいでしょう。原則的には，仕事用のSuicaと私用のSuicaを使い分けるようにして，誤解を招かないようにしておくのがよいと思います。遊びに出かけたのだけれど，うっかり仕事用のSuicaを使ってしまったというふうなときは，</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
    </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    </tr>
  <tr>
    <td>05-15</td>
    <td>事業主貸</td>
    <td class="money">320</td>
    <td>電子マネー</td>
    <td class="money">320</td>
    </tr>
</table>
<p>と処理します。</p>
<h4>源泉徴収税の扱い</h4>
<p>制作費の10％を源泉徴収税分として差し引かれる場合があります。このときの仕訳は次のようになります。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>05-31</td>
    <td>普通預金</td>
    <td class="money">90,000</td>
    <td>売掛金</td>
    <td class="money">100,000</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>事業主貸</td>
    <td class="money">10,000</td>
    <td>&nbsp;</td>
    <td class="money">&nbsp;</td>
  </tr>
</table>
<p>売掛金100,000円のうち10％差し引かれた90,000円が入金されて，10％は事業主貸となります。税金を納めるのは事業主です。この10,000円は事業主に渡った分が納税されていることになり，この手続を取引先で行ってもらったということです。</p>
<p>年末に取引先から「源泉徴収支払調書」（発行者によって名称は若干異なるかもしれません）というのが送られてきますので，これを保管しておきましょう。確定申告の際，納税すべき額からすでに納税済みの分を差し引くことができます。調書は納税済みの証明書の役割を果たします。</p>
<h4>売掛金を回収できなかった</h4>
<p>相手先の倒産などの理由で，売掛金が回収できなかった場合は「<em>貸倒損失</em>」として処理します。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>12-31</td>
    <td>貸倒損失</td>
    <td class="money">52,000</td>
    <td>売掛金</td>
    <td class="money">52,000</td>
  </tr>
</table>
<h4>元入金の算出</h4>
<p>「<em>元入金</em>」というのは会社で言う「資本金」にあたります。事業主が仕事のために用意したお金で，<em>毎年の利益が加算</em>されていきます。期首（年度初め。個人事業主の場合1月1日）に計上して期末（年度末。個人事業主の場合12月31日）まで変動しません。</p>
<p>繰り越した資産と負債を元にして，</p>
<p class="formula"> 元入金 ＝ 資産総額 － 負債総額　...A</p>
<p> あるいは，前期末の決算を元にして，</p>
<p class="formula">  今期元入金 ＝ 前期元入金 ＋ 前期青色申告特別控除前の所得金額<br /> 
  ＋ 前期事業主借 － 前期事業主貸　...B</p>
<p>  と計算します。</p>
<p><img src="../figure/bookkeeping-bs-pl.png" alt=" " width="420" height="270" /></p>
<p><a href="http://blog.d-spica.com/entry/081020bookkeeping.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> 複式簿記で見えてきたこと</a> にある「試算表」を上下に分けると「貸借対照表」（<em>BS</em>：Balance Sheet）と「損益計算書」（<em>PL</em>：Profit and Loss Statement）ができます。BSのほうはお金（証券・固定資産・債権・債務などを含めた）がどのような形であるかを表しています。PLのほうは期間内のお金の動き（出入り）を表しています。</p>
<p>Aの計算式はBSから算出するものです。Bの計算式は前期のPLから利益を算出し，元入金に加算するものです。収益から費用を差し引き（青色申告特別控除前の所得金額），さらに事業主に渡った分を差し引いたものが，事務所（店）に残った利益ということです。</p>
<p>会計ソフトを使っている場合，元入金は期首処理で金額だけ入力すればいいようになっています。または，前期からの繰越処理をすれば自動的に計算されます。</p>
<h4>減価償却</h4>
<p>147,000円で購入したパソコンは耐用年数4年の「<em>固定資産</em>」になります。<a href="http://law.e-gov.go.jp/htmldata/S40/S40F03401000015.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> 減価償却資産の耐用年数等に関する省令</a> で，耐用年数が定められています。</p>
<p>まず購入した時点で。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>04-05</td>
    <td>工具器具備品</td>
    <td class="money">147,000</td>
    <td>&nbsp;現金</td>
    <td class="money">147,000</td>
  </tr>
</table>
<p>「<em>工具器具備品</em>」は固定資産の科目になります。費用（経費）にはなりません。そのかわり，毎期末ごとに使った分だけ費用として償却する処理をします。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>12-31</td>
    <td>減価償却費</td>
    <td class="money">27,562</td>
    <td>&nbsp;工具器具備品</td>
    <td class="money">27,562</td>
  </tr>
</table>
<p>減価償却費は次のように計算します。（個人事業主は特に申請しない限り「定額法」で算出する）</p>
<p class="formula"> 購入価格 ÷ 耐用年数 ＝ 147,000 ÷ 4 ＝ 36,750円</p>
<p> または</p>
<p class="formula"> 購入価格 × 償却率 ＝ 147,000 × 0.25 ＝ <em>36,750円</em></p>
<p> となります。定額法の償却率も <a href="http://law.e-gov.go.jp/htmldata/S40/S40F03401000015.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> 減価償却資産の耐用年数等に関する省令</a> に定められています。耐用年数の逆数になっています。</p>
<p> でも，パソコンを購入したのが4月だったので，今期は9ヶ月，つまり0.75年分（9ヶ月 ÷ 12ヶ月）しか使っていません。そこで，今期の減価償却費は</p>
<p class="formula"> 36,750 × 0.75 ＝ 27,562円</p>
<p> とします。</p>
<p>翌期，このパソコンの帳簿上の資産価値（<em>簿価</em>）は，購入価格から減価償却分を引いた 119,438円（＝ 147,000 － 27,562）になります。翌期の期末にまた，減価償却します。今度は丸一年使いますから，減価償却費は36,750円です。</p>
<p>購入から4年目の期首には簿価が9,188円になります。その期末に36,750円の減価償却はできませんから，1円だけ残して，9,187円を減価償却します。<em>1円を残す</em>ところがポイントです。残存価額といって，耐用年数が過ぎてもまったく価値がなくなるわけではない，ということなのです。</p>
<p>この算出方法は，平成19年4月1日以降に購入したものに適用されます。（法改正によって計算方法が変わった）　それ以前に購入したものは，1年間の減価償却費を，</p>
<p class="formula"> 減価償却費 ＝ 購入価格 × 0.9 × 償却率</p>
<p> と計算します。購入価格の90％を減価償却していくということで，10％が残存価額となります。</p>
<p>今年の4月に開業したのだけれど，前から使っていたパソコンで仕事をしている。という場合も，購入から4年が過ぎていなければ，固定資産として減価償却できます。開業時の簿価を算出して，固定資産の工具器具備品として計上します。今期末には4月から12月の0.75年分を，翌期からは1年分を減価償却していきます。</p>
<h4>開業費</h4>
<p>4月に開業して仕事を始めたけれど，それ以前に準備のための出費をしているというときは「開業費」として計上できます。</p>
<p>「開業費」は繰延資産の扱いになります。費用（経費）にはなりません。そのかわり，5年以内の定額法で償却して経費とします。固定資産の場合と似ています。</p>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
    </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    </tr>
  <tr>
    <td>03-10</td>
    <td>開業費</td>
    <td class="money">136,500</td>
    <td>事業主借</td>
    <td class="money">136,500</td>
    </tr>
</table>
<table class="bookkeeping">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>12-31</td>
    <td>開業費償却</td>
    <td class="money">136,500</td>
    <td>開業費</td>
    <td class="money">136,500</td>
  </tr>
</table>
<p>この場合，期末に一括償却したことになります。</p>
<p>年度をまたいでいる場合も，前年度の出費を開業費とすることができます。</p>
<p>「独立して開業しようかな」とお考えの方は，仕事に関連しそうな出費をしたら，領収書などを保管しておくことをおすすめします。</p>
<h4>固定資産や繰延資産の償却について</h4>
<p>繰延資産には開業費の他に開発費や試験研究費などが含まれます。ある年度に大きな設備投資をしたとか，開発・研究に力を入れたとすると，その年度の出費はいつもより大きなものになります。通常の売上があり，今後収益を上げる可能性も十分あるのに，その出費のために，計上した利益が極端に少なくなるとか赤字になるということも起こります。これでは，経営の実態を正しく伝えられません。</p>
<p>設備投資の場合，購入した機械工具は数年にわたって利用され，売上を生みます。研究・開発の成果は徐々に現れ，数年にわたって活用されるものです。機械工具の生産性や研究・開発の成果を一度「資産」とし，その出費を数年に分けて経費とすることで，経営状態をできるだけ正しく伝えようとするのが「償却」という考え方です。</p>
<h4>参考</h4>
<ul class="link-list">
  <li><a href="http://blog.webcreativepark.net/2007/10/02-190514.html">独立開業[to-R]</a></li>
  <li><a href="http://kanjoukamoku.happy-advice.com/">勘定科目一覧表(個人事業主用)　－勘定科目を語句から検索！－</a></li>
</ul>
<h4>関連</h4>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/081020bookkeeping.html">複式簿記で見えてきたこと | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081102ringokeiritien.html">会計ソフト RingoKeiriTien | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081110accrualbasis.html">複式簿記をするなら発生主義で | d-spica</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>複式簿記で見えてきたこと</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/081020bookkeeping.html" />
    <id>tag:blog.d-spica.com,2008://1.52</id>

    <published>2008-10-20T08:37:06Z</published>
    <updated>2008-11-10T12:09:00Z</updated>

    <summary> フリーで仕事をするようになってから覚えたもののひとつに，「複式簿記」があります。と言っても，帳簿を付けたり確定申告をするために，独学でちょっとかじったという程度なのですが。 お金の流れを収入と支出とその残高という項目で記録しているときにはあまり意識していなかったことが，複式簿記では見えてきます。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="Work" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="経理" label="経理" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="複式簿記" label="複式簿記" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-work.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>フリーで仕事をするようになってから覚えたもののひとつに，「複式簿記」があります。と言っても，帳簿を付けたり確定申告をするために，独学でちょっとかじったという程度なのですが。</p>
<p>お金の流れを収入と支出とその残高という項目で記録しているときにはあまり意識していなかったことが，複式簿記では見えてきます。</p>
</div>

]]>
        <![CDATA[<h4>複式簿記の基本</h4>
<p>複式簿記の基本はこうです。</p>
<p>左に<em>借方</em>（debit），右に<em>貸方</em>（credit）を置き，<em>勘定科目</em>と金額を書く。このとき，借方と貸方の金額は常に等しい。（貸借平均の原理）</p>
<table class="bookkeeping" summary="仕訳伝票">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>10-15</td>
    <td>普通預金</td>
    <td class="money">100,000</td>
    <td>売上高</td>
    <td class="money">100,000</td>
  </tr>
</table>
<p>右側は，いかにしてそのお金を得たか「資金の出所」が書かれ，左側は，どのような形で手元にあるか「資金の所在・用途」が書かれます。</p>
<p>これを取引ごとに記録していくのが「<em>仕訳</em>」です。</p>
<p>勘定科目は大きく5つに分類され，さらに細分化されていきます。</p>
<p><img src="http://blog.d-spica.com/figure/bookkeeping-items.png" alt="試算表" width="221" height="160" /></p>
<dl>
  <dt>資産</dt>
  <dd>要するに金目のもの。現金，預金から始まって，在庫品や固定資産，証券や債権など。</dd>
  <dt>負債</dt>
  <dd>借入金などの債務のほかに，まだ仕事はしていないけど先にお金をもらったときなども，仕事をして売上を計上するまでは負債となります。</dd>
  <dt>資本</dt>
  <dd>商売の元手。会社でいえば資本金，個人事業主の場合は「元入金」。</dd>
  <dt>費用</dt>
  <dd>仕事をするうえで必要な出費。いわゆる「経費」です。</dd>
  <dt>収益</dt>
  <dd>売上のほか，固定資産や証券を売った利益とか，利息などが含まれます。</dd>
</dl>
<p>上の図は「<em>試算表</em>」というものです。左側は借方，右側は貸方になり，これらを総計すると左右が等しくなります。</p>
<p>会計ソフトで仕訳をしていけば，</p>
<ul>
  <li> 仕訳帳</li>
  <li> 勘定元帳</li>
  <li> 試算表</li>
  <li> 貸借対照表</li>
  <li> 損益計算書</li>
</ul>
<p> などが自動的に集計されるので，とりあえず仕訳がきちっとできれば，実務はこなせるようになります。</p>
<h4>具体的には</h4>
<p>具体的な事例で，取引を仕訳してみましょう。</p>
<h5>3,150円分の事務用品を現金で買った。</h5>
<table class="bookkeeping" summary="仕訳伝票">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>03-15</td>
    <td>事務用品費</td>
    <td class="money">3,150</td>
    <td>現金</td>
    <td class="money">3,150</td>
  </tr>
</table>
<p>資金の出所はお店（事務所）の現金。これで事務用品を手に入れました。</p>
<p>現金は<em>資産</em>のひとつで，試算表では借方に入ります。これが反対の貸方に書いてあるときは，資産が減ったことを意味します。事務用品費は<em>費用</em>になります。</p>
<p>見方を変えると「現金3,150円が，同じ価値を持つ事務用品に形をかえて手もとにある」ともとらえられます。しかし事務用品は使うと減ったり，痛んだりして3,150円の価値はなくなります。「短期間で価値（サービスを受ける権利なども含めて）がなくなるもは<em>費用</em>」と考えて差し支えないと思います。</p>
<h5>3,150円分の事務用品をASKULで買った。</h5>
<table class="bookkeeping" summary="仕訳伝票">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>03-15</td>
    <td>事務用品費</td>
    <td class="money">3,150</td>
    <td>買掛金</td>
    <td class="money">3,150</td>
  </tr>
  <tr>
    <td>04-10</td>
    <td>買掛金</td>
    <td class="money">3,150</td>
    <td>普通預金</td>
    <td class="money">3,150</td>
  </tr>
  <tr>
    <td>04-10</td>
    <td>手数料</td>
    <td class="money">168</td>
    <td>普通預金</td>
    <td class="money">168</td>
  </tr>
</table>
<p>買掛金というのは，所定の期日までに支払わなければならないお金（債務）で，<em>負債</em>になります。ツケで買ったということです。04-10，預金口座からの振込でその債務を果たしました。</p>
<p>試算表では負債は貸方のほうにありますが，反対の借方に書いたとき（04-10の行）は負債が減ったことを意味します。</p>
<p>振込手数料も<em>費用</em>（経費）になります。</p>
<h5>制作費100,000円を現金で支払ってもらった。</h5>
<table class="bookkeeping" summary="仕訳伝票">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>03-31</td>
    <td>現金</td>
    <td class="money">100,000</td>
    <td>売上高</td>
    <td class="money">100,000</td>
  </tr>
</table>
<p>売上は<em>収益</em>のひとつです。</p>
<h5>制作費100,000円の請求書を送り，翌々月銀行振り込みしてもらった。</h5>
<table class="bookkeeping" summary="仕訳伝票">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>03-31</td>
    <td>売掛金</td>
    <td class="money">100,000</td>
    <td>売上高</td>
    <td class="money">100,000</td>
  </tr>
  <tr>
    <td>05-31</td>
    <td>普通預金</td>
    <td class="money">100,000</td>
    <td>売掛金</td>
    <td class="money">100,000</td>
  </tr>
</table>
<p>売掛金は所定の期日までに支払ってもらえるお金（債権）で，<em>資産</em>になります。05-31，それを回収したことになります。</p>
<h5>売掛金と買掛金の相殺</h5>
<p>ぼくがAさんの制作をお手伝いして，100,000円の請求をしました。<br />
  翌月，Aさんにぼくの制作50,000円分のお手伝いをしてもらいました。<br />
  翌々月，Aさんに差額の50,000円を振り込んでもらいました。</p>
<table class="bookkeeping" summary="仕訳伝票">
  <tr>
    <th></th>
    <th colspan="2" scope="col">借方</th>
    <th colspan="2" scope="col">貸方</th>
  </tr>
  <tr>
    <th scope="col" class="date">月日</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
    <th scope="col" class="item">科目</th>
    <th scope="col" class="money">金額</th>
  </tr>
  <tr>
    <td>03-31</td>
    <td>売掛金</td>
    <td class="money">100,000</td>
    <td>売上高</td>
    <td class="money">100,000</td>
  </tr>
  <tr>
    <td>04-30</td>
    <td>外注費</td>
    <td class="money">50,000</td>
    <td>買掛金</td>
    <td class="money">50,000</td>
  </tr>
  <tr>
    <td>05-31</td>
    <td>普通預金</td>
    <td class="money">50,000</td>
    <td>売掛金</td>
    <td class="money">50,000</td>
  </tr>
  <tr>
    <td>05-31</td>
    <td>買掛金</td>
    <td class="money">50,000</td>
    <td>売掛金</td>
    <td class="money">50,000</td>
  </tr>
</table>
<p>最後の行は，売掛金のうち50,000円を買掛金に充当して，相殺したことを表しています。</p>
<h4>複式簿記で見えてきたこと</h4>
<ul>
  <li>債権や債務も，資産・負債で，取引の対象になります。まだ入金されてないけれど100万円の売掛金（資産）があるとか，まだ支払っていないけれど20万円の買掛金（負債）がある，ということもわかるようになります。</li>
  <li>「取引」というのは，等価なものに形を替えていくことです。制作という仕事が100,000円の売掛金に替わり，売掛金は100,000円の現金に替わる。</li>
  <li>様々な取引でいろいろな人とかかわりながら形を替えていく。口座に100,000円の入金があったとする。これは一時，ぼくが口座預金という形で得た（借りた）に過ぎず，次は別の誰かが作った製品の対価として，その人の口座に渡す（貸す）ことになる。こうした営みが幾重にもつながった大きな循環が，世の中にはある。 </li>
</ul>
<p>財布や口座からいくら出た，いくら入ったということくらいしか見ていなかったぼくが，複式簿記をやってリアルに（数字として）見えるようになったことです。</p>
<h4>関連</h4>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/081020bookkeeping.html">複式簿記で見えてきたこと | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081027journalize.html">フリーランスの仕訳の豆知識 | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081102ringokeiritien.html">会計ソフト RingoKeiriTien | d-spica</a></li>
  <li><a href="http://blog.d-spica.com/entry/081110accrualbasis.html">複式簿記をするなら発生主義で | d-spica</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>table のアクセシビリティを向上させる</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/081006table.html" />
    <id>tag:blog.d-spica.com,2008://1.51</id>

    <published>2008-10-06T10:10:10Z</published>
    <updated>2008-10-06T10:27:50Z</updated>

    <summary> アクセシビリティをもう少しよくしよう，と思いながら，かつてコーディングしたものを手直ししているのですが，table をめぐってちょっと思ったことを。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="accessibility" label="accessibility" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="table" label="table" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xhtml" label="XHTML" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>アクセシビリティをもう少しよくしよう，と思いながら，かつてコーディングしたものを手直ししているのですが，table をめぐってちょっと思ったことを。</p>
</div>
]]>
        <![CDATA[<h4>見出し項目（th）を左にとるか上にとるか</h4>
<table summary="部屋タイプごとの家賃の一覧表">
  <tr> 
    <th>間取り</th>
    <td colspan="2">2LDK</td>
    <td colspan="2">1LDK</td>
    </tr>
  <tr> 
    <th>タイプ</th>
    <td>A</td>
    <td>B</td>
    <td>C</td>
    <td>D</td>
  </tr>
  <tr> 
    <th>家賃（月）</th>
    <td>165,000円</td>
    <td>155,000円</td>
    <td>120,000円</td>
    <td>108,000円</td>
  </tr>
</table>
<p>横幅もうまく収まりそうだし，スクロールを少なくするという意味もあって，こんな表にしていました。</p>
<p>しかし，今回は次のようにしてみました。</p>
<table summary="部屋タイプごとの家賃の一覧表">
  <thead>
    <tr> 
      <th>間取り</th>
      <th>タイプ</th>
      <th>家賃（月）</th>
    </tr>
  </thead>
  <tbody>
    <tr> 
      <td>2LDK</td>
      <td>A</td>
      <td>165,000円</td>
    </tr>
    <tr>
      <td>2LDK</td>
      <td>B</td>
      <td>155,000円</td>
    </tr>
    <tr>
      <td>1LDK</td>
      <td>C</td>
      <td>120,000円</td>
    </tr>
    <tr>
      <td>1LDK</td>
      <td>D</td>
      <td>108,000円</td>
    </tr>
  </tbody>
</table>
<h4>読み上げたとき，どちらが分かりやすい？</h4>
<p>ウェブページを読み上げソフトで利用される方のことを想像してみました。音声ブラウザなどは，特別な操作をしなければ，線形的に（ソースに書かれた順に）テキストを読み上げていきます。</p>
<p>上の表は<br />
「間取り，2LDK，1LDK，タイプ，A，B，C，D，家賃 月，165000円，155000円，120000円，108000円」<br />
と読まれそうですね。</p>
<p>たとえば，「120000円」を聞いたとき，これがどんな部屋の家賃なのか，ちょっと分かりにくく感じます。</p>
<p>下の表だと<br />
「間取り，タイプ，家賃 月，2LDK，A，165000円，2LDK，B，155000円，1LDK，C，120000円，1LDK，D，108000円」<br />
と読まれそうです。</p>
<p>部屋の間取りとタイプのすぐ後に，家賃が読み上げられるので，対応がはっきりします。</p>
<p>colspan，rowspan属性でセルを連結させるのも，注意したほうがよいかもしれません。行ごとにセルの数が変わると，対応が分かりにくくなります。</p>
<h4>比較する場合</h4>
<p>同じ2LDKの賃貸マンションの3つの物件を比較したい，というふうなときはどうでしょう。</p>
<table summary="3物件の家賃，最寄り駅までの距離，築年月，ペット可の比較">
  <thead>
    <tr> 
      <th>&nbsp;</th>
      <th>家賃（月）</th>
      <th>最寄り駅</th>
      <th>駅までの距離</th>
      <th>築年月</th>
      <th>ペット</th>
    </tr>
  </thead>
  <tbody>
    <tr> 
      <th>物件1</th>
      <td>165,000円</td>
      <td>JR中央線○○駅</td>
      <td>徒歩5分</td>
      <td>2002年4月</td>
      <td>可</td>
    </tr>
    <tr>
      <th>物件2</th>
      <td>143,000円</td>
      <td>京王線○○駅</td>
      <td>徒歩20分</td>
      <td>2005年8月</td>
      <td>可</td>
    </tr>
    <tr>
      <th>物件3</th>
      <td>255,000円</td>
      <td>JR山手線○○駅</td>
      <td>徒歩3分</td>
      <td>2007年9月</td>
      <td>不可</td>
    </tr>
  </tbody>
</table>
<table summary="3物件の家賃，最寄り駅までの距離，築年月，ペット可の比較">
  <thead>
    <tr> 
      <th>&nbsp;</th>
      <th>物件1</th>
      <th>物件2</th>
      <th>物件3</th>
    </tr>
  </thead>
  <tbody>
    <tr> 
      <th>家賃（月）</th>
      <td>165,000円</td>
      <td>143,000円</td>
      <td>255,000円</td>
    </tr>
    <tr>
      <th>最寄り駅</th>
      <td>JR中央線○○駅</td>
      <td>京王線○○駅</td>
      <td>JR山手線○○駅</td>
    </tr>
    <tr>
      <th>駅までの距離</th>
      <td>徒歩5分</td>
      <td>徒歩20分</td>
      <td>徒歩3分</td>
    </tr>
    <tr>
      <th>築年月</th>
      <td>2002年4月</td>
      <td>2005年8月</td>
      <td>2007年9月</td>
    </tr>
    <tr>
      <th>ペット</th>
      <td>可</td>
      <td>可</td>
      <td>不可</td>
    </tr>
  </tbody>
</table>
<p>これは下のほうが分かりやすいでしょうか。</p>
<h4>table のアクセシビリティを向上させる</h4>
<ul class="link-list">
  <li><a href="http://www.kanzaki.com/docs/html/tbl-access.html">テーブルとアクセシビリティ -- ごく簡単なHTMLの説明</a></li>
</ul>
<p>神崎さんの書かれたページに，table のアクセシビリティを向上させるための属性が紹介されています。これらの属性を使って，音声ブラウザなどでより分かりやすくすることもできます。</p>
<p>が，その前に，「表の縦横を入れ替えるだけで，ずいぶん分かりやすくなることもある」と，今日のところはまとめておきます。</p>
]]>
    </content>
</entry>

<entry>
    <title>table と caption の margin</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080813caption.html" />
    <id>tag:blog.d-spica.com,2008://1.50</id>

    <published>2008-08-13T13:57:20Z</published>
    <updated>2008-08-14T04:42:51Z</updated>

    <summary> Firefox，Safari，Opera は IE に比べるとだいぶWeb標準に準拠してレンダリングされます。しかし，仕様に詳しく定められていないところは（追記参照）ブラウザごとのクセがあり，表示結果が微妙に違ったりします。以前，table に caption を入れたとき，margin を合わせるのにちょっと苦労した経験があったので，改めて調べてみました。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="caption" label="caption" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="table" label="table" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xhtml" label="XHTML" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>Firefox，Safari，Opera は IE に比べるとだいぶWeb標準に準拠してレンダリングされます。しかし，仕様に詳しく定められていないところは（<a href="#ps">追記参照</a>）ブラウザごとのクセがあり，表示結果が微妙に違ったりします。以前，table に caption を入れたとき，margin を合わせるのにちょっと苦労した経験があったので，改めて調べてみました。</p>
</div>

]]>
        <![CDATA[<p>caption は表題を示す要素です。table の子要素になり，table の開始タグの直後に記述します。</p>
<h4>table の margin-top が入る位置</h4>
<pre class="xhtml"><code>&lt;p&gt;テキストテキスト&lt;/p&gt;
&lt;table&gt;
  &lt;caption&gt;サンプル（ここがcaption）&lt;/caption&gt;
  &lt;tr&gt;
    ......
  &lt;/tr&gt;
&lt;/table&gt;</code></pre>
<pre class="css"><code>table {
  margin-top: 50px;
}</code></pre>
<p>Firefox3，Opera9.5，Safari3 のそれぞれの表示結果をみてみましょう。</p>
<p><img src="http://blog.d-spica.com/figure/table-caption/fx-1.png" alt="Firefoxのレンダリング" width="263" height="182" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/op-1.png" alt="Operaのレンダリング" width="263" height="182" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/sf-1.png" alt="Safariのレンダリング" width="263" height="181" class="sample0" /></p>
<p><em>Firefoxの場合，table の margin-top が caption との間に入っています。</em></p>
<h4>caption にだけ上下の margin を入れてみる</h4>
<pre class="css"><code>table {
  margin-top: 0;
}

table caption {
  margin-top: 30px;
  margin-bottom: 30px;
}</code></pre>
<p><img src="http://blog.d-spica.com/figure/table-caption/fx-3.png" alt="Firefoxのレンダリング" width="263" height="193" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/op-3.png" alt="Operaのレンダリング" width="263" height="178" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/sf-3.png" alt="Safariのレンダリング" width="263" height="191" class="sample0" /></p>
<p>これは顕著な違いが出てきています。</p>
<p>Firefox は予想通り。</p>
<p>Opera は上の margin が若干狭くなっています。<em>caption のテキストのベースラインから上</em>が，ちょうど30pxになっていました。</p>
<p>Safari は<em>上の margin が下に</em>まわっています。</p>
<h4>table の上と caption の上下の margin を入れてみる</h4>
<pre class="css"><code>table {
  margin-top: 50px;
}

table caption {
  margin-top: 30px;
  margin-bottom: 30px;
}</code></pre>
<p><img src="http://blog.d-spica.com/figure/table-caption/fx-2.png" alt="Firefoxのレンダリング" width="263" height="212" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/op-2.png" alt="Operaのレンダリング" width="263" height="228" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/sf-2.png" alt="Safariのレンダリング" width="263" height="241" class="sample0" /></p>
<p>ブラウザによってかなりの違いがあることがお分かりいただけたかと思います。</p>
<h4>クロスブラウザのCSS</h4>
<p><em>IE6,7 では caption に margin が効かない</em>ことをあわせると，いまのところ <em>table 上部と caption 上下の margin は指定しない</em>ほうが無難でしょう。</p>
<ul>
  <li>table 上部の余白は，前の要素の margin-bottom で調整</li>
  <li>caption と table 本体の間隔は caption の padding-bottom で調整</li>
</ul>
<pre class="css"><code>p {
  margin-bottom: 50px;
}

table {
  margin-top: 0;
}

table caption {
  padding-bottom: 10px;
}</code></pre>
<p><img src="http://blog.d-spica.com/figure/table-caption/ie-5.png" alt="InternetExplorerのレンダリング" width="263" height="196" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/fx-5.png" alt="Firefoxのレンダリング" width="263" height="192" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/op-5.png" alt="Operaのレンダリング" width="263" height="191" class="sample0" /></p>
<p><img src="http://blog.d-spica.com/figure/table-caption/sf-5.png" alt="Safariのレンダリング" width="263" height="191" class="sample0" /></p>
<h4>参考</h4>
<p>複数並んだ table間のマージンについては to-R の西畑さんの記事を参考にしてください。</p>
<ul class="link-list">
<li><a href="http://blog.webcreativepark.net/2008/08/03-123928.html">tableにおけるmarginの相殺 [to-R]</a></li>
</ul>
<p>サンプルページを用意しましたので，あわせてご覧ください。</p>
<ul class="link-list">
<li><a href="http://www.d-spica.com/try/table-caption.html">CSS - table と caption の margin | Try | d-spica</a></li>
</ul>
<h4 id="ps">追記</h4>
<p><a href="http://b.hatena.ne.jp/vantguarde/20080814#bookmark-9645513">vantguarde さんのはてなブックマーク</a>でご指摘をいただきました。caption の margin については仕様に定められていました。以下を参考にしてください。</p>
<ul class="link-list">
  <li><a href="http://www.w3.org/TR/CSS21/tables.html#model">Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification - Tables in the visual formatting model</a></li>
</ul>
<p>こうしてみると，Firefox，Opera，Safari とも仕様のとおりにレンダリングされてはいませんね。</p>
]]>
    </content>
</entry>

<entry>
    <title>label のススメ</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080729label.html" />
    <id>tag:blog.d-spica.com,2008://1.49</id>

    <published>2008-07-29T08:43:56Z</published>
    <updated>2008-08-19T10:09:39Z</updated>

    <summary>   label要素とその挙動 | Web標準Blog | ミツエーリンクス これを読んでいて，ぼくがやっていることをちょっと紹介しようと思いました。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="label" label="label" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="xhtml" label="XHTML" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<ul class="link-list">
  <li><a href="http://standards.mitsue.co.jp/archives/001336.html">label要素とその挙動 | Web標準Blog | ミツエーリンクス</a></li>
</ul>
<p>これを読んでいて，ぼくがやっていることをちょっと紹介しようと思いました。</p>
</div>
]]>
        <![CDATA[<h4>label の働き</h4>
<pre class="xhtml"><code>お名前 &lt;input type=&quot;text&quot; name=&quot;name&quot; id=&quot;name&quot; size=&quot;20&quot; /&gt;</code></pre>
<p>このような場合，コントロール本体であるテキストボックス<code>&lt;input type=&quot;text&quot; ... /&gt;</code>とその説明である「お名前」というテキストは，隣同士に並んではいるけれど，対応していることがはっきりマークアップされているわけではありません。</p>
<p>label要素を使って，次のようにマークアップすることで，「お名前」というテキストとテキストボックスをはっきり関連づけることができます。label要素内のテキストが，for属性の値に入れられた id名を持つ要素，つまり id=&quot;name&quot; のラベルであることを示すわけです。</p>
<pre class="xhtml"><code>&lt;label for=&quot;<em>name</em>&quot;&gt;お名前&lt;/label&gt; &lt;input type=&quot;text&quot; name=&quot;name&quot; id=&quot;<em>name</em>&quot; size=&quot;20&quot; /&gt;</code></pre>
<p>IE6以前では対応していませんが，次のようにテキストとコントロールをまとめてくくる方法もあります。</p>
<pre class="xhtml"><code>&lt;label&gt;お名前 &lt;input type=&quot;text&quot; name=&quot;name&quot; id=&quot;name&quot; size=&quot;20&quot; /&gt;&lt;/label&gt;</code></pre>
<p>label要素の部分をクリックすると，テキストボックス（input type=&quot;text&quot;）やテキストエリア（textarea）ならボックスにカーソルが入った状態，ラジオボタン（input type=&quot;radio&quot;）やチェックボックス（input type=&quot;checkbox&quot;）だと選択された状態，さらにクリックすると選択を解除した状態になります。</p>
<p>大きさの限られたラジオボタンやチェックボックスの場合，テキスト部分も含めてクリックが有効になるので，かなり使いやすくなります。</p>
<h4>CSSでのデザインにも便利</h4>
<p>ラジオボタンやチェックボックスをいつか並べるようなことがあります。</p>
<form method="post" action="#">
<dl class="sample">
  <dt>利用しているソーシャルブックマーク</dt>
  <dd class="sbm1">
    <label><input type="checkbox" name="hatena" value="はてなブックマーク" />はてなブックマーク</label>
    <label><input type="checkbox" name="delicious" value="del.icio.us" />del.icio.us</label>
    <label><input type="checkbox" name="livedoor" value="livedoorクリップ" />livedoorクリップ</label>
    <label><input type="checkbox" name="buzzurl" value="buzzurl" />buzzurl</label>
    <label><input type="checkbox" name="yahoo" value="Yahooブックマーク" />Yahooブックマーク</label>
    <label><input type="checkbox" name="pookmark" value="POOKMARK Airline" />POOKMARK Airline</label>
    <label><input type="checkbox" name="nifty" value="@niftyクリップ" />@niftyクリップ</label>
    <label><input type="checkbox" name="newsing" value="newsing" />newsing</label>
    <label><input type="checkbox" name="others" value="その他" />その他</label>
  </dd>
</dl>
</form>
<pre class="xhtml"><code>&lt;form method=&quot;post&quot; action=&quot;#&quot;&gt;
  &lt;dl&gt;
    ......
    &lt;dt&gt;利用しているソーシャルブックマーク&lt;/dt&gt;
    &lt;dd class=&quot;sbm&quot;&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;hatena&quot; id=&quot;hatena&quot; value=&quot;はてなブックマーク&quot; /&gt;はてなブックマーク&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;delicious&quot; id=&quot;delicious&quot; value=&quot;del.icio.us&quot; /&gt;del.icio.us&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;livedoor&quot; id=&quot;livedoor&quot; value=&quot;livedoorクリップ&quot; /&gt;livedoorクリップ&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;buzzurl&quot; id=&quot;buzzurl&quot; value=&quot;buzzurl&quot; /&gt;buzzurl&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;yahoo&quot; id=&quot;yahoo&quot; value=&quot;Yahooブックマーク&quot; /&gt;Yahooブックマーク&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;pookmark&quot; id=&quot;pookmark&quot; value=&quot;POOKMARK Airline&quot; /&gt;POOKMARK Airline&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;nifty&quot; id=&quot;nifty&quot; value=&quot;@niftyクリップ&quot; /&gt;@niftyクリップ&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;newsing&quot; id=&quot;newsing&quot; value=&quot;newsing&quot; /&gt;newsing&lt;/label&gt;
      &lt;label&gt;&lt;input type=&quot;checkbox&quot; name=&quot;others&quot; id=&quot;others&quot; value=&quot;その他&quot; /&gt;その他&lt;/label&gt;
    &lt;/dd&gt;
    ......
  &lt;/dl&gt;
&lt;/form&gt;</code></pre>
<p>このように マークアップしておくと，CSSでのデザインも楽になります。（ただし，このマークアップではIE6以前で label要素上のクリックは効きません）</p>
<pre class="css"><code>form dl dd.sbm label {
  margin-right: 1.5em;
  white-space: nowrap;
}</code></pre>
<p>とすれば，テキストとコントロールのセットが分かりやすくなり，途中で折り返されることがなくなります。</p>
<p>ひとつずつ改行したくなったら，&lt;br /&gt; を入れなくても，次のようにすれば解決します。</p>
<pre class="css"><code>form dl dd.sbm label {
  display: block;
}</code></pre>
<p>応用としてこんなふうにも。</p>
<pre class="css"><code>form dl {
  overflow: hidden;
  width: 434px;
}

form dl dd.sbm label {
  display: block;
  float: left;
  width: 13em;
}</code></pre>
<form method="post" action="#">
<dl class="sample">
  <dt>利用しているソーシャルブックマーク</dt>
  <dd class="sbm2">
    <label><input type="checkbox" name="hatena" value="はてなブックマーク" />はてなブックマーク</label>
    <label><input type="checkbox" name="delicious" value="del.icio.us" />del.icio.us</label>
    <label><input type="checkbox" name="livedoor" value="livedoorクリップ" />livedoorクリップ</label>
    <label><input type="checkbox" name="buzzurl" value="buzzurl" />buzzurl</label>
    <label><input type="checkbox" name="yahoo" value="Yahooブックマーク" />Yahooブックマーク</label>
    <label><input type="checkbox" name="pookmark" value="POOKMARK Airline" />POOKMARK Airline</label>
    <label><input type="checkbox" name="nifty" value="@niftyクリップ" />@niftyクリップ</label>
    <label><input type="checkbox" name="newsing" value="newsing" />newsing</label>
    <label><input type="checkbox" name="others" value="その他" />その他</label>
  </dd>
</dl>
</form>
<h4>注意点</h4>
<ul>
  <li>ひとつの label に対して，ひとつのコントロールを対応させなければなりません。label要素の中に複数のチェックボックスを入れるようなことはできません。</li>
  <li>label要素はインライン要素です。</li>
  <li>せっかく関連づけがされているので，label要素にマウスがのったとき，見た目上の変化があるとよいかもしれません。IEでは，コントロール本体がグローしますが，他のブラウザでは特に変化はありません。たとえば次のように。
  <pre class="css"><code>form dl dd.sbm label:hover {
  background: #EEE;
}</code></pre>
  </li>
</ul>
<h4>参考</h4>
<ul class="link-list">
  <li><a href="http://standards.mitsue.co.jp/archives/001336.html">label要素とその挙動 | Web標準Blog | ミツエーリンクス</a></li>
  <li><a href="http://www.kanzaki.com/docs/html/htminfo33.html">フォームとアクセシビリティ -- ごく簡単なHTMLの説明 -- The Web KANZAKI</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>Webデザインのための Firefox 3 アドオン</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080624firefox.html" />
    <id>tag:blog.d-spica.com,2008://1.48</id>

    <published>2008-06-24T13:23:23Z</published>
    <updated>2008-07-01T11:58:14Z</updated>

    <summary> 6月18日，Firefox 3 がリリースされました。ぼくも早速ダウンロード。  Firefox の魅力はなんといっても豊富なアドオンにあります。便利な拡張機能がたくさんあって，自分にあったブラウジング環境が作れます。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="browser" label="browser" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-web.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>6月18日，Firefox 3 がリリースされました。ぼくも早速ダウンロード。</p>
<p> Firefox の魅力はなんといっても豊富なアドオンにあります。便利な拡張機能がたくさんあって，自分にあったブラウジング環境が作れます。</p>
</div>
]]>
        <![CDATA[<h4>Firefoxの拡張機能</h4>
<p>  今回のバージョンアップの目玉が高速化。実際に使ってみると確かに速い！　Firefox は便利なんだけど，ときとして非常に重たくなるのが難点でした。これで，アドオンをいろいろ入れても快適に使えそうです。</p>
<p>今回はぼくが Firefox 3 に入れている拡張機能をいくつか紹介してみます。<br />
  Love &amp; Design のらぶさんが TB企画をしていますので，そちらにもトラックバックしておきましょう。</p>
<ul class="link-list">
<li><a href="http://sweetlovexx.seesaa.net/article/101392145.html">TB企画*これがないと困る！Firefox 3 のアドオンリスト :: Love &amp; Design ::</a></li>
</ul>
<h4>快適なブラウジングのために</h4>
<h5><a href="http://tmp.garyr.net/forum/viewtopic.php?t=7031"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Tab Mix Plus</a></h5>
<p>これはもう欠かせません。タブの開閉をコントロールする拡張機能です。ぼくの場合，ほとんどのリンクは新しいタブで開くようにしています。そして次に紹介する FireGestures でタブ間を移動したり，閉じたりしています。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/6366"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> FireGestures</a></h5>
<p>ボタンをクリックしたり，メニューを選択しなくても，マウスをちょっと動かすだけでブラウジングできてしまう優れもの。たとえば，右にドラッグすると次のタブへ，左だと前のタブ，下に動かすとタブを閉じ，上にするとページの先頭に戻る，といった設定ができます。以前は All-in-One Gestures を使っていましたが，今回乗り換えました。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/1937"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> タブカタログ (Tab Catalog)</a></h5>
<p>開いたタブをサムネイルで表示してくれます。サムネイル内でスクロールしたり，リンクをクリックすることもできます。広いディスプレイなら快適に使えます。</p>
<h5><a href="http://www.google.com/tools/firefox/toolbar/FT3/intl/ja/index.html?utm_source=ja-et-more&amp;utm_medium=et&amp;utm_campaign=ja&amp;tbbrand=GZEZ"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" />  Google Toolbar for </a><a href="http://www.google.com/tools/firefox/toolbar/FT3/intl/ja/index.html?utm_source=ja-et-more&amp;utm_medium=et&amp;utm_campaign=ja&amp;tbbrand=GZEZ">Firefox</a></h5>
<p>Google のいろんなサービスがさらに使いやすくなります。</p>
<h5><a href="http://www.hatena.ne.jp/tool/firefox#Hatenabar"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> hatenabar</a></h5>
<p>はてなユーザー御用達。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/748"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Greasemonkey</a></h5>
<p>通称「グリモン」。痒いところに手が届くちょっと便利なスクリプトが追加できます。グリモンで使えるいろんなスクリプトが公開されています。</p>
<h4>Webデザイン用</h4>
<h5><a href="http://getfirebug.com/jp.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Firebug</a></h5>
<p>このデバッグツールはもう手放せません。CSS や Javascript の問題を見つけたり，修正したりするときに使います。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/60"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Web Developer</a></h5>
<p>アクセシビリティをよくしようというときには，いろんな条件でチェックするのが大事。CSS や Javascript を切ったり，画像を非表示にしたり，validator でチェックしたりというときに使っています。</p>
<h5><a href="http://users.skynet.be/mgueury/mozilla/download.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Html Validator for Firefox and Mozilla</a></h5>
<p>valid かどうかをステイタスバーに表示してくれます。エラーがあると一目瞭然。ソースを表示させると，エラー箇所をハイライト。これで見ていると valid なページというのは少ないですね。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/142"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Make Link</a></h5>
<p>コピペするときにページの title要素やURLを取得して，HTMLタグを付け加えることができます。以前は Copy URL + を使っていたのですが，設定が簡単なのでこちらに乗り換えました。</p>
<h4>ちょっとニッチな感じなもの</h4>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/1743"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> lori (Life-of-request info)</a></h5>
<p>ステイタスバーに，最初の読み込みが始まるまでの時間，ページ全部を読み込むまでの時間，読み込んだファイルサイズ，リクエスト数を表示してくれます。「ん？　このページなんか遅いぞ」というときにチェック。もっと詳しく見たいときは Firebug の Net でチェックします。 </p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/1146"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Screengrab!</a></h5>
<p>ページのスクリーンショットをとってくれます。スクロールしなければ出てこないページの下のほうも全部まとめてPNG画像に。選択した部分だけを画像にすることもできます。<br />
  この画像は，サムネイルの元画像として使ったり，紙ベースでデザインを見てもらったりするとき（印刷するとほとんどの場合デザインが変わってしまうので）に使います。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/2933"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Link Widgets</a></h5>
<p>ツールバーに追加したボタンに，link要素や a要素の rel属性のURLを取得してきます。今のところ rel属性のチェック用として使っています。Opera にもデフォルトで同じような機能があります。ブラウザが rel属性をUIに活用するようになってくると，制作側もそれにうまく対応していくのがよさそうですね。</p>
<h5><a href="https://addons.mozilla.org/ja/firefox/addon/1852"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> Table2Clipboard</a></h5>
<p>table部分をコピペするときに使います。通常のコピペだと，テキストが連続してしまって，セルの区切りがわかりづらくなります。行の区切りとセルの区切りに任意の文字列を挿入してペーストできます。<br />
  たとえば次のようにすると，table関連のタグが追加されます。</p>
<p><img src="http://blog.d-spica.com/figure/table2clipboad.png" alt="capture : Table2Clipboard" width="300" height="210" /></p>
<p> サイトリニューアルのときなど，前のサイトで使っていた表をまた使う，ということがよくあります。ソースをコピペしてもよいのですが，インデントがバラバラだったり，align，bgcolor，width といったオススメできない属性が入っていることも多く，表が大きいとこれを修正する手間もバカになりません。<br />
  文字列を変えることで，いろんな形式で書き出せます。</p>
<h4>その他に</h4>
<p>こんなものも入れています。</p>
<ul class="link-list">
  <li><a href="https://addons.mozilla.org/ja/firefox/addon/1985">Window Resizer</a></li>
  <li><a href="https://addons.mozilla.org/ja/firefox/addon/3504">Zotero</a></li>
  <li><a href="http://gears.google.com/">Google Gears</a></li>
  <li><a href="http://miniturbo.org/2007/08/22/011621">SBMカウンタ</a></li>
</ul>
]]>
    </content>
</entry>

<entry>
    <title>CSSの初期化ファイル</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080531defaultcss.html" />
    <id>tag:blog.d-spica.com,2008://1.47</id>

    <published>2008-05-31T05:37:35Z</published>
    <updated>2008-07-28T17:17:27Z</updated>

    <summary> 以前， CSSの初期化 というエントリを書きました。あれからいろいろと試行錯誤し，初期化ファイルがずいぶん変わってきましたので，改めて今ぼくが使っている最新のファイルを紹介したいと思います。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>以前，<a href="http://blog.d-spica.com/entry/070925default.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> CSSの初期化</a> というエントリを書きました。あれからいろいろと試行錯誤し，初期化ファイルがずいぶん変わってきましたので，改めて今ぼくが使っている最新のファイルを紹介したいと思います。</p>
</div>]]>
        <![CDATA[<h4>default.css</h4>
<p>以下からご覧いただけます。</p>
<ul class="link-list">
  <li><a href="http://www.d-spica.com/css2/default.css">default.css</a></li>
</ul>
<p>このファイルは次のような目的で作っています。</p>
<ul>
  <li>各ブラウザが持つデフォルトのCSSをリセットして，レンダリングの違いを解消する。</li>
  <li>サイトやページによって書き換えることがほとんどない，基本的な設定を行う。</li>
  <li>コーディングが分かりやすくなる初期値を指定しておく。</li>
</ul>
<p>このファイルをあらゆるサイトで使い回せるようにしておくわけです。</p>
<h4>リセット</h4>
<pre class="css"><code>/* Reset */

body, div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, 
brockquote, pre, table, caption, th, td, address, 
form, fieldset, legend, object {
  margin: 0;
  padding: 0;
}

h5, h6, pre, table, code, kbd, samp, acronym, input, textarea {
  font-size: 100%;
}

a, ins {
  text-decoration: none;
}

address, em, cite, dfn, var {
  font-style: normal;
}

input, textarea {
  font-family: sans-serif;
  font-weight: normal;
}

img {
  vertical-align: baseline;
}

a img {
  border: none;
}</code></pre>
<p>まず，ブロックレベル要素は margin と padding が 0 の状態にし，見出しを除くテキストはフォントサイズ・スタイルが同じになるようにします。</p>
<p>各ブラウザのデフォルトCSSでどのように表示されるかは，以下のページで確かめてみてください。</p>
<ul class="link-list">
  <li><a href="http://www.d-spica.com/try/default-css.html">CSS - 各要素の表示チェック | Try | d-spica</a></li>
</ul>
<p>ブラウザによって違いが出てくるもののほかに，次のようなものもリセットしています。</p>
<ul>
  <li>斜体になる。（日本語フォントの斜体は読みづらい）</li>
  <li>フォントサイズ・スタイルが通常のものと違う。（table, input など。IEのpre, codeなど， Firefoxのinput, textarea，Oreraのacronym，などブラウザによっていくつか）</li>
</ul>
<p>この初期化ファイルをあてると，次のようになります。</p>
<ul class="link-list">
  <li><a href="http://www.d-spica.com/try/default-css2.html">CSS - 初期化ファイルをあてたときの各要素の表示 | Try | d-spica</a></li>
</ul>
<h4>基本的な設定</h4>
<p>以下の設定は，サイトによって値を若干変える場合もあります。</p>
<pre class="css"><code>/* Setting */

body {
  background: #FFF;
  font-family: sans-serif;
  font-size: 13px;
  color: #333;
}

* html body { /* for IE6 */
  font-size: small;
}
  
*:first-child+html body { /* for IE7 */
  font-size: small;
}

ul {
  list-style-position: outside;
  list-style-type: none;
}

ol {
  list-style-position: outside;
}
  
table {
  border-collapse: collapse;
}

legend {
  color: #333;
}

div#main p,
div#main ul,
div#main ol,
div#main dl,
div#main blockquote,
div#main pre,
div#main table {
  margin: 1em 0;
}</code></pre>
<p>まず，フォントサイズを13px相当に合わせています。ul, ol, table の設定は好みによるところも多分にありますが...。</p>
<p>legend はIEで青文字になります。他のフォント色と合わせています。</p>
<p>メインコンテンツの部分だけは，よく使うブロックレベル要素にあらかじめ margin を指定しています。他の部分は，デザインによって margin がまちまちになる場合が多いので，ここでは指定していません。</p>
<h4>初期化ファイルで指定しないほうがよいもの</h4>
<p>初期化ファイルであまり細かく指定しまうと，サイトによって後から書き換える部分がふえてしまいます。あらゆるサイトで使い回せるようなファイルになりません。初期化ファイルにはあくまで基本的（不変）なところだけ。</p>
<p>line-height は，メインコンテンツの部分では 1.5 前後にするとよいのですが，他のところでは 1.2 くらいがよかったり，1 にしておくのが便利だったりと様々なので，ここでは指定せず，サイトごとに作る別ファイルで。</p>
<p>h1, h2, h3 あたりの見出しも，サイトによってデザインも様々，しかもわりと詳細に指定することが多いので，別ファイルで。</p>
<p>form 内の各コントロールは，基本的にブラウザがあらかじめ持っているものを使うようにしています。padding や border. outline などをリセットしてしまうと，ひとつひとつ再設定していくのがかなり面倒です。</p>
<h4>オプションで</h4>
<pre class="css"><code>/* Option *//*

* html .smallFont {
  font-family: 'メイリオ', 'ＭＳ Ｐゴシック', sans-serif;
}
  
*:first-child+html .smallFont {
  font-family: 'メイリオ', 'ＭＳ Ｐゴシック', sans-serif;
}

* html ul li dl,
* html ol li dl {
  display: inline;
}

*:first-child+html ul li dl,
*:first-child+html ol li dl {
  display: inline;
}

*/</code></pre>
<p>バグ対策です。すべてのサイトで使うというものではないので，必要に応じて使うようにしています。詳細は関連するエントリを参考にしてください。</p>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/070527li-dl.html">li要素にdl要素を入れてみる</a></li>
  <li><a href="http://blog.d-spica.com/entry/080518iefontsize.html">IEで指定どおりのfont-sizeにならない</a></li>
</ul>
<p>以前は clearfix の記述も入れていたのですが，最近ほとんど使わなくなりました。今は入れていません。</p>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/080418clear.html">flaotを解除する3つの方法</a></li>
</ul>
<h4>font-sizeに関するメモ</h4>
<pre class="css"><code>/*---------------------------------------------

Font Size

20px : 154%
18px : 139%
16px : 124%
15px : 116%  125%
14px : 108%  117%
13px : 100%  108%
12px :  93%  100%
11px :  85%   92%

---------------------------------------------*/</code></pre>
<p>13pxを基準とした場合の，font-size の指定値をまとめてあります。基準値が違いますが，以下のエントリに書いた算出方法を使っています。</p>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/070310fontsize.html">font-size指定</a></li>
</ul>
<h4>補足</h4>
<p><a href="http://blog.d-spica.com/entry/080523cssfiles.html"><img src="http://blog.d-spica.com/img/mk-golink.png" alt="" /> CSSファイルの分割</a> で書いたように，サイトのすべてのページに適用されるCSSを，default.css と common.css の2枚に書いています。</p>
<p>以前は，default.css で初期化したものを，common.css で再設定する部分が相当ありました。が，この二重の指定ははっきり言って無駄です。必要なものだけを残し，この重複をできるだけ省くようにしてきました。</p>
<p>また，「default.css はあらゆるサイトで使い回せるように」という視点で，default.css から common.css に移したものもあります。</p>
<h4>参考</h4>
<ul class="link-list">
  <li><a href="http://developer.yahoo.com/yui/reset/">Yahoo! UI Library: Reset CSS</a></li>
  <li><a href="http://developer.yahoo.com/yui/fonts/">Yahoo! UI Library: Fonts CSS</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>nth-child() 疑似クラスを試してみる</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080526nthchild.html" />
    <id>tag:blog.d-spica.com,2008://1.46</id>

    <published>2008-05-26T12:30:16Z</published>
    <updated>2008-06-20T14:31:13Z</updated>

    <summary> CSS3で定義される nth-child() 疑似クラス。これが使えるようになると，HTMLファイル，CSSファイルのメンテナスが楽になるだろうな...と思うのです。 どんな具合か，ちょっと試してみました。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="nthchild" label="nth-child" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>CSS3で定義される nth-child() 疑似クラス。これが使えるようになると，HTMLファイル，CSSファイルのメンテナスが楽になるだろうな...と思うのです。</p>
<p>どんな具合か，ちょっと試してみました。</p>
</div>]]>
        <![CDATA[<h4>nth-child() 疑似クラスとは</h4>
<p>英文ですが，詳細は以下から。W3Cの Working Draft（草案）ですので，今後変更されることがあるかもしれません。</p>
<ul class="link-list">
  <li ><a href="http://www.w3.org/TR/css3-selectors/#nth-child-pseudo">Selectors - 6.6.5. Structural pseudo-classes - :nth-child() pseudo-class</a></li>
</ul>
<p>その要素が何番目の子要素かによって，該当するものにだけ，CSSをあてることができます。</p>
<p>たとえば，セレクタに<code>ul li:nth-child(2n)</code>，または<code>ul li:nth-child(even)</code>というふうに記述すると，リストの偶数番目のアイテムに対してCSSを適用できます。奇数番目なら<code>ul li:nth-child(2n+1)</code>，または<code>ul li:nth-child(odd)</code>となります。</p>
<p><code>ul li:nth-child(4n+1)</code>と書くと，4つおきに1, 5, 9, 13番目の li要素が該当することになります。<code>ul li:nth-child(6)</code>と書くと，6番目の li要素だけが該当します。</p>
<p>nth-child() 疑似クラスに対応しているブラウザも出てきました。</p>
<ul>
  <li>Safari 3</li>
  <li>Opera 9.50β</li>
</ul>
<p>（Firefox 3RCでは後述のCSSは効きませんでした。IE 8βは未確認）</p>
<h4>使用例</h4>
<p>Safari 3で表示したキャプチャを載せておきます。</p>
<h5>カレンダー：土・日・祝日に色を</h5>
<p><img src="http://blog.d-spica.com/illust/nth-child-1.jpg" alt="カレンダー：土・日・祝日に色を" width="196" height="186" class="sample0" /></p>
<pre class="css"><code>table.calendar tr th:nth-child(6) {
  background: #99F;
}

table.calendar tr th:nth-child(7) {
  background: #F99;
}

table.calendar tr td:nth-child(6) {
  color: #009;
}

table.calendar tr td:nth-child(7),
table.calendar tr:nth-child(5) td:nth-child(1) {
  color: #900;
}</code></pre>
<p>1行目の曜日は th でマークアップしてあります。この6番目（土）と7番目（日）は，背景色を変えて指定しています。</p>
<p>日の数字は td でマークアップしてあります。6番目と7番目のテキスト色を指定しています。</p>
<p>祝日の「海の日」は7月の第3月曜です。<code>tr:nth-child(5) td:nth-child(1)</code>，つまり5番目の tr の中の1番目の td がこれにあたります。</p>
<h5>カレンダー：休業日に背景色を</h5>
<p><img src="http://blog.d-spica.com/illust/nth-child-2.jpg" alt="カレンダー：休業日に背景色を" width="196" height="186" class="sample0" /></p>
<p>上のCSSに以下を追加します。</p>
<pre class="css"><code>table.calendar tr td:nth-child(7),
table.calendar tr:nth-child(2n+1) td:nth-child(4) {
  background: #FCC;
}

table.calendar tr:nth-child(6) td:nth-child(7) {
  background: #FFF;
}</code></pre>
<p><code>td:nth-child(7)</code>は日曜日に該当します。<code>tr:nth-child(2n+1) td:nth-child(4)</code>は奇数番目の tr の中の4番目の td にあたり，隔週木曜日に背景色が入ります。</p>
<p>27日の下は空欄になっていますが，ここにも背景色が入ってしまうので，<code>#FFF</code>を指定しています。</p>
<h5>floatを4つおきにclear</h5>
<p><img src="http://blog.d-spica.com/illust/nth-child-3.jpg" alt="floatを4つおきにclear" width="450" height="530" class="sample0" /></p>
<p>ul, li のリストでマークアップしてあります。li にはそれぞれ商品画像・商品名・価格が入っています。</p>
<pre class="xhtml">&lt;ul class=&quot;product-list&quot;&gt;
  &lt;li&gt;&lt;a href=&quot;#&quot;&gt;&lt;img src=&quot;figure/dummy-100.gif&quot; alt=&quot;ダミー&quot; width=&quot;100&quot; height=&quot;100&quot; /&gt;&lt;br /&gt;
    &lt;em&gt;商品名&lt;/em&gt;&lt;/a&gt;&lt;br /&gt;
    &lt;span class=&quot;price&quot;&gt;価格 0,000円&lt;/span&gt;&lt;/li&gt;
  ...</pre>
<pre class="css"><code>ul.product-list {
  overflow: hidden;
  width: 430px;
  border-top: solid 3px #666;
}

ul.product-list li {
  float: left;
  margin-top: 15px;
  margin-left: 10px;
  width: 100px;
}

ul.product-list li:nth-child(4n+1) {
  clear: left;
  margin-left: 0;
}</code></pre>
<p><code>li:nth-child(4n+1)</code>は4つずつ並べたときのいちばん最初の li にあたります。これを clear して，左の margin を 0 にしています。きれいに4つずつ並びます。</p>
<h5>floatを3つおきにclear</h5>
<p>HTMLはそのまま，CSSをちょっと書き換えるだけでこんなふうにもなります。</p>
<p><img src="http://blog.d-spica.com/illust/nth-child-4.jpg" alt="floatを3つおきにclear" width="340" height="681" class="sample0" /></p>
<pre class="css"><code>ul.product-list {
  overflow: hidden;
  width: <em>320px</em>;
  border-top: solid 3px #666;
}

ul.product-list li {
  float: left;
  margin-top: 15px;
  margin-left: 10px;
  width: 100px;
}

ul.product-list li:nth-child(<em>3n+1</em>) {
  clear: left;
  margin-left: 0;
}</code></pre>
<p>書き換えたのは，ul の width の値と nth-child の 3n+1 のところだけです。同じ要領で，540px，5n+1 と書き換えると5つずつ並べることができますね。</p>
<h4>nth-child() が使いたい理由</h4>
<p>floatさせて4つずつ並べる場合，1, 5, 9, ...番目の li に class=&quot;head-item&quot; などと class をふり，これにCSSをあてる...という方法でもできないことはありません。</p>
<p>表に1行おきに背景色を入れるような場合も，奇数番目の tr に class=&quot;odd&quot; を，偶数番目の tr に class=&quot;even&quot; をふっておいたり...。</p>
<p>これらの方法だと，途中に商品を追加する（あるいは削除する）とか，表の途中のデータを1行そっくり抜く（あるいは挿入する）というとき，それ以降にある class を書き直さなくてはなりません。</p>
<p>nth-child() が使えるようになれば，こうした class をふる必要はなくなります。HTML上で追加しようと削除しようと順序を入れ替えようと，何番目になるかを気にすることはありません。</p>
<p>また，HTMLを固定したまま，見栄えをいろいろに変化させるときにも便利です。4つずつ並んでいたものを3つずつにする，1行おきに背景を入れていたものを3行ごとにする，ということもCSSの対応だけですみます。</p>
<h4>参考</h4>
<p>サンプルページを用意しましたので，あわせてご覧ください。</p>
<ul class="link-list">
  <li><a href="http://www.d-spica.com/try/nth-child.html">CSS - nth-child()疑似クラス | Try | d-spica</a></li>
</ul>
<h4>関連</h4>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/080423friendlyhtml.html">Re: CSSによるデザインワークと相性のよいHTMLって？</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>CSSファイルの分割</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080523cssfiles.html" />
    <id>tag:blog.d-spica.com,2008://1.45</id>

    <published>2008-05-23T10:00:19Z</published>
    <updated>2008-06-20T14:32:33Z</updated>

    <summary> 見栄えに関わる部分をHTMLから分離してCSSに書いていくと，CSSの分量もかなり増えてきます。サイトの規模が大きくなったり，様々なデザインの要素が加わってくるとなおさらです。 今回は，CSSファイルをいくつかに分け，管理しやすくする方法を考えてみたいと思います。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>見栄えに関わる部分をHTMLから分離してCSSに書いていくと，CSSの分量もかなり増えてきます。サイトの規模が大きくなったり，様々なデザインの要素が加わってくるとなおさらです。</p>
<p>今回は，CSSファイルをいくつかに分け，管理しやすくする方法を考えてみたいと思います。</p>
</div>]]>
        <![CDATA[<h4>なぜ分割するのか</h4>
<h5>1. 余分なものを読み込まなくてすむように。</h5>
<p>構造（structure）と見栄え（prasentation）をHTMLとCSSに完全に分離すると，CSSのほうにたくさんの記述をすることになります。その中には，ある特定のページにしか適用されないものも出てきます。</p>
<p>これらのすべてを1枚のCSSファイルに書き，すべてのページで読み込む方法だと，そのページには適用されないものまで相当数読み込むことになってしまいます。</p>
<p>CSSファイルをいくつかに分割しておき，必要なものだけを読み込むようにすると，この無駄を省くことができます。</p>
<h5>2. CSSが管理しやすくなるように。</h5>
<p>ルールセットが多くなってくると，何がどこに書かれているのか探すのが大変になります。また，カスケード処理や値の継承の具合で，どの指定が適用されているのかも分かりづらくなってきます。</p>
<p>CSSファイルを適度な分量に分割して，それぞれのファイルの役割をはっきりさせ，記述や読み込みの順序に法則性を持たせておくと，管理が楽になります。</p>
<h4>具体的な分割の方法</h4>
<p>ぼくはまず，どのページに適用されるかによって，ファイルを分割しています。</p>
<ul>
  <li>サイト内のすべてのページに適用されるもの</li>
  <li>特定のページ群（またはページ）に適用されるもの</li>
  </ul>
<p>ここからさらに，</p>
<ul>
  <li>ブラウザ間の差異を解消する初期化に関わる部分</li>
  <li>CSSを切り替えて変化させる部分</li>
</ul>
<p>などを抜き出して別のファイルを作ります。</p>
<p>数十ページのサイトだと，だいたい次のようなCSSファイルができます。</p>
<ul>
  <li>default.css （初期化）</li>
  <li>common.css （全ページに適用するもの）</li>
  <li>top.css （トップページに適用するもの）</li>
  <li>lower.css （トップページを除く下層ページに適用するもの）</li>
  <li>category1.css （category1の各ページに適用するもの）</li>
  <li>category2.css （category2の各ページに適用するもの）</li>
  <li>...</li>
  <li>print.css （印刷用）</li>
</ul>
<p>ページのレイアウトで見ると...。common.css にはヘッダー，フッター，ナビゲーションあたりに適用されるものが書かれます。top.css，lower.css には，メインのコンテンツ部分に適用されるもの，categoryN.css にはそのカテゴリ固有のものが書かれます。</p>
<p><img src="http://blog.d-spica.com/illust/css-files.gif" alt="CSSファイルの分割" width="426" height="192" /></p>
<h4>インポートの方法</h4>
<p>上の図にかかれた下のファイルから順に読み込みます。CSSでは，同じ要素に対していくつかの指定がかち合ったとき，セレクタの詳細度が同じなら，後のほうに書かれたものが優先的に適用されます。より一般的な「原則的にこうだよ」というものを先に，「でも，ここはちょっと違うよ」という特殊なものは後から読み込むようにしておくと，分かりやすくなります。</p>
<p>print.css を別にすると，トップページでは次のファイルが必要になります。</p>
<ul>
  <li>default.css （初期化）</li>
  <li>common.css （全ページに適用するもの）</li>
  <li>top.css （トップページに適用するもの）</li>
</ul>
<p>category2 の各ページでは，</p>
<ul>
  <li>default.css （初期化）</li>
  <li>common.css （全ページに適用するもの）</li>
  <li>lower.css （トップページを除く下層ページに適用するもの）</li>
  <li>category2.css （category2の各ページに適用するもの）</li>
  </ul>
<p>以前は import_top.css，import_category2.css などのファイルを作り，</p>
<pre class="css"><code>@import url(default.css);
@import url(common.css);
@import url(top.css)</code></pre>
<p>というふうに，各ファイルをインポートして，これを index.html にリンクさせていました。が，サイトの規模が大きくなってくると import_(category name).css といったファイルが無闇に増えてしまいます。</p>
<p>今は，top.css の最初のほうで default.css と common.css をインポートし，その後に続けてトップページ適用させるルールセットを書き，index.html にリンクさせる...という方法をとっています。</p>
<p>category2 の各ページは，category2.sss にリンクし，このCSSファイルでは次のように各ファイルをインポートしてから，category2 に適用するルールセットを書く...というふうにしています。</p>
<pre class="css"><code>@import url(default.css);
@import url(common.css);
@import url(lower.css)


div#main div.section h3 {
  ...
}

...
</code></pre>
<h4>HTMLファイルにCSSを書かないために</h4>
<p>「このページのこの部分だけ，ちょっとイレギュラーに違うデザインにしたい」ということがときどきあります。</p>
<p>HTMLファイルに，style要素や style属性を使って，その部分にだけ適用させるCSSを書くという方法もあるのですが，これだと構造（structure）と見栄え（prasentation）の完全分離は実現できなくなってしまいます。</p>
<p>ぼくは <a href="http://blog.d-spica.com/entry/080423friendlyhtml.html">Re: CSSによるデザインワークと相性のよいHTMLって？</a> で紹介したように，body要素の id属性でページ名を付けるようにして，category2.css の下のほうに，次のような記述を追加しています。</p>
<pre class="css"><code>/* Links Page Only */

body#links div#main div.section ul.link-list {
  background: url( ... ) no-repeat left center;
  padding-left: 10px;
}</code></pre>
<p>こうような特定のページにだけ適用させるルールセットが多くなるような場合は，(page name).css といファイルを新たに作り，これらのルールセットを書いて該当ページにリンクさせるようにしています。</p>
<h4>分割しすぎるとかえって面倒</h4>
<p>分割の方法があまりに複雑だったり，分割したファイルがたくさんになりすぎると，かえって管理が面倒になります。あえて分割しなくても，同一ファイル内をコメントで区切り，何がどこに書かれているかをはっきりさせておけば，かなり分かりやすくなります。</p>
<p>また，各CSSのファイルの役割，インポート先・リンク先，必要に応じてHTMLのDOM構造の主要な部分などを書いておくと管理の手助けになります。良い例となるか分かりませんが，ぼくが書くCSSの最初のほうは，次のような感じです。</p>
<pre class="css"><code>@charset "UTF-8";

/*---------------------------------------------

Common CSS
for all pages
coded by d-spica at 2008-05-23
imported to "$category-name.css", "top.css"

-----------------------------------------------

Basic Layout

  body

    div#header
      p.description
      p.logo / h1.logo
      p.tel
      ul.nav

    div#contents
    
      p#topicpath / -

      div#main
          ... ( >lower.css / >top.css )

      div#sub
        ul.nav
        ul.banner

      p#toTopNav
      
    div#footer
      ul.nav
      p.credit

---------------------------------------------*/
</code></pre>
<h4>参考</h4>
<ul class="link-list">
  <li><a href="http://2xup.org/log/2006/12/13-0947">CSS 分割管理の実践編 - 2xup.org</a></li>
  <li><a href="http://3ping.org/2007/08/11/0416">分割CSSファイルの構成とそのルール - 3ping.org</a></li>
  <li><a href="http://realog.org/2007/03/07/1045.html">Re: CSS分割管理の実践編 - Go my way</a></li>
  <li><a href="http://with-d.net/xhtml-css/000035.html">コーディングする際のCSSの分割方法について【With-D】</a></li>
</ul>
<h4>追記</h4>
<p>さらに参考となるページを。</p>
<ul class="link-list">
  <li><a href="http://www.i81.co.jp/koba/?p=72">Clear Sky Source - マルチシートアプローチとかクラス名とか</a></li>
  <li><a href="http://blog.webcreativepark.net/2008/05/28-223334.html">re:マルチシートアプローチとかクラス名とか[to-R]</a></li>
</ul>
<h4>関連</h4>
<p>CSSの初期化ファイル default.css について。</p>
<ul class="link-list">
<li><a href="http://blog.d-spica.com/entry/080531defaultcss.html">CSSの初期化ファイル</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>IEで指定どおりのfont-sizeにならない</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080518iefontsize.html" />
    <id>tag:blog.d-spica.com,2008://1.44</id>

    <published>2008-05-18T10:03:22Z</published>
    <updated>2008-06-20T15:10:29Z</updated>

    <summary> IE との兼ね合いで，font-size は%で指定しておくのが，いちばん無難だと思うのですが，IE6, 7 にちょっと痛いバグがありました。 小さなサイズの文字が指定どおりの大きさにならないのです。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fontsize" label="font-size" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>IE との兼ね合いで，font-size は%で指定しておくのが，いちばん無難だと思うのですが，IE6, 7 にちょっと痛いバグがありました。</p>
<p>小さなサイズの文字が指定どおりの大きさにならないのです。</p>
</div>]]>
        <![CDATA[<h4>11px以下のフォントが指定より大きくなる</h4>
<p>まず，<a href="http://blog.d-spica.com/font-size.html">font-size</a> のページを IE6 または IE7 でご覧ください。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/font-ie7-2.gif" alt="font-sizeを小さくしていったときのIE7での表示" /></p>
<p>順にフォントサイズが小さくなっていくはずなのですが，74%から72%あたりの日本語のフォントサイズが一旦大きくなっています。その後71%から 60%のところまで，日本語フォントはサイズが変わっていません。</p>
<p>FIrefox の場合と比べると，よく分かるかもしれません。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/font-win-fx-2.gif" alt="font-sizeを小さくしていったときのFirefoxでの表示" /></p>
<p>%で指定された font-size は，最終的にpxに変換され，端数処理して整数値になったものが表示されます。IEの場合，11.5px以上12px未満になるところは，本来12pxで表示されるはずですが，13pxになっています。9.5px以上11.5px未満のところは，すべて12pxで表示されています。</p>
<p>emで指定した場合も同様の結果になりました。</p>
<p>フォントサイズを11px以下にすることの是非も少々気になりますが...。</p>
<h4>解決法1：UTF-8にしない</h4>
<p>まず，<em>文字コードを<code>UTF-8</code>以外の日本語コード，<code>Shift_JIS</code>や<code>EUC-JP</code>にする</em>ことで解決します。</p>
<pre class="xhtml"><code>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=Shift_JIS&quot; /&gt;</code></pre>
<p>しかし，XHTMLでXML宣言を省略する場合（文字コードが<code>UTF-8</code>なら省略可）もあるし，最近は<code>UTF-8</code>が主流になりつつある状況を考えると，あまり好ましい方法とは言えません。</p>
<h4>解決法2：日本語フォントを指定する</h4>
<p><em>font-family で<strong>最初に</strong>日本語フォントを指定する</em>ことでも解決します。（英字フォントの後に日本語フォントを指定した場合は解決しないようです）</p>
<p>個人的には，特別な事情がない限り，font-family に特定のフォントを指定するのは「余計なお世話」という感じもします。11px以下になるところにだけ，次のように指定するのがよいかもしれません。</p>
<pre class="css"><code>div#footer ul.nav {
  font-size: 71%;
}

* html div#footer ul.nav {
  font-family: 'ＭＳ Ｐゴシック', sans-serif;
}

*:first-child+html div#footer ul.nav {
  font-family: 'メイリオ', sans-serif;
}</code></pre>
<p>12pxで表示したいときは，pxに変換したとき12px以上12.5px未満になる値を指定しておけば大丈夫です。</p>
<h4>参考</h4>
<p>font-size指定については，以下も参考にしてください。</p>
<ul class="link-list">
  <li><a href="http://blog.d-spica.com/entry/070310fontsize.html">font-size指定</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>すぐに使えそうなネガティブマージン</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080515margin.html" />
    <id>tag:blog.d-spica.com,2008://1.43</id>

    <published>2008-05-15T14:40:55Z</published>
    <updated>2008-06-20T14:34:27Z</updated>

    <summary> margin にはマイナスの値を入れることができます。マイナスの値を持つ margin を「ネガティブマージン」と言ったりします。 あまりむずかしくなく，すぐに使えそうなネガティブマージンを紹介してみましょう。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="margin" label="margin" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>margin にはマイナスの値を入れることができます。マイナスの値を持つ margin を「ネガティブマージン」と言ったりします。</p>
<p>あまりむずかしくなく，すぐに使えそうなネガティブマージンを紹介してみましょう。</p>
</div>]]>
        <![CDATA[<h4>見出しにネガティブマージン</h4>
<p>本文の左に見出しよりも大きな余白をとりたいというとき。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-1.gif" alt="sample：見出しにネガティブマージン1" /></p>
<pre class="xhtml"><code>&lt;div class=&quot;section&quot;&gt;
  &lt;h3&gt;<span class="second">見出し</span>&lt;/h3&gt;
  &lt;p&gt;テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。...&lt;/p&gt;
  &lt;p&gt;テキストテキストテキストテキストテキストテキストテキストテキストテキストテキスト。...&lt;/p&gt;
&lt;/div&gt;</code></pre>
<pre class="css"><code>div.section {
  padding-left: <strong>15px</strong>;
}

div.section h3 {
  <strong>margin-left: -15px;</strong>
  padding: 5px 10px;
  background: #999;
  color: #FFF;
}</code></pre>
<p>通常は横方向の margin をとると，余白ができた分，ボックスが中に縮まるのですが，ネガティブマージをとると，外に広がったようになります。</p>
<p>まず親要素となる div.section に padding-left をとり，左側に余白をとります。h3 にネガティブマージンをとって左側に広げます。</p>
<p>見出しを除いた本文のところを改めて div で囲い margin-left や padding-left をとったり，p. ul, ol, dl, blockquote, pre, table, ...といったそれぞれの要素に margin-left や padding-left をとるということをしなくても，左に余白が入れられます。</p>
<p>上と同じXHTMLでこんなふうにもなります。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-2.gif" alt="sample：見出しにネガティブマージン2" /></p>
<pre class="css"><code>div.section {
  padding: 0 <strong>15px</strong> 10px;
  border: solid 1px #666;
}

div.section h3 {
  <strong>margin:</strong> 0 <strong>-15px</strong>;
  padding: 5px 10px;
  background: #999;
  border-bottom: solid 1px #666;
  color: #FFF;
}</code></pre>
<p>こちらは，左右の padding をネガティブマージンで解消しています。</p>
<h4>ネガティブマージンで前の要素の横に続ける</h4>
<p>フッターなどで。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-3.gif" alt="sample：ネガティブマージンで前の要素の横に続ける1" /></p>
<pre class="xhtml"><code>&lt;div id=&quot;footer&quot;&gt;
  &lt;p&gt;&lt;a href=&quot;http:www.d-spica.com/&quot;&gt;d-spica home&lt;/a&gt; | &lt;a href=&quot;http:blog.d-spica.com/&quot;&gt;d-spica blog&lt;/a&gt;&lt;/p&gt;
  &lt;p class=&quot;credit&quot;&gt;Copyright&amp;copy; d-spica.&lt;/p&gt;
&lt;/div&gt;</code></pre>
<pre class="css"><code>div#footer {
  border-top: solid 2px #999;
  padding: 20px 5px;
  line-height: <strong>1.5</strong>;
}

div#footer p {
  margin: 0;
}

div#footer p.credit {
  <strong>margin-top: -1.5em;</strong>
  text-align: right;
}</code></pre>
<p>縦方向の margin は，ボックスの上下の間隔を作りますが，ネガティブマージをとると，間隔が詰まることになります。</p>
<p>後のほうの p.credit を，ネガティブマージンでちょうど1行分上にあげて（詰めて）います。</p>
<p>前回，<a href="http://blog.d-spica.com/entry/080512dtfloat.html">dtをfloatする場合の注意点</a> で紹介した，dt と dd を横並びにするのも，ネガティブマージンできます。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-4.gif" alt="sample：ネガティブマージンで前の要素の横に続ける2" /></p>
<pre class="xhtml"><code>&lt;dl&gt;
  &lt;dt&gt;2008-05-12&lt;/dt&gt;
  &lt;dd&gt;ページ5を更新しました。テキストテキストテキスト。&lt;/dd&gt;
  &lt;dt&gt;2008-05-10&lt;/dt&gt;
  &lt;dd&gt;ページ4を更新しました。テキストテキストテキスト。&lt;/dd&gt;
  &lt;dt&gt;2008-05-07&lt;/dt&gt;
  &lt;dd&gt;ページ3を更新しました。テキストテキストテキスト...。&lt;/dd&gt;
  &lt;dt&gt;2008-05-06&lt;/dt&gt;
  &lt;dd&gt;ページ2を更新しました。テキストテキストテキスト...。&lt;/dd&gt;
  &lt;dt&gt;2008-05-04&lt;/dt&gt;
  &lt;dd&gt;ページ1を更新しました。テキストテキストテキスト。&lt;/dd&gt;
&lt;/dl&gt;</code></pre>
<pre class="css"><code>dl {
  line-height: <strong>1.5</strong>;
}

dl dt {
  width: 7em;
}

dl dd {
  <strong>margin: -1.5em</strong> 0 10px 7em;
  margin-bottom: 10px;
}</code></pre>
<p>floatして横並びにするよりも便利な場合が多々あります。</p>
<h4>IEでのネガティブマージン</h4>
<p>本来なら，このように表示されるはずなのですが...。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-6.gif" alt="sample：左右にネガティブマージン" /></p>
<pre class="xhtml"><code>&lt;div class=&quot;section&quot;&gt;
  &lt;p class=&quot;first&quot;&gt;12345678901234567890&lt;br /&gt;
    12345678901234567890&lt;/p&gt;
  &lt;p class=&quot;second&quot;&gt;12345678901234567890&lt;br /&gt;
    12345678901234567890&lt;/p&gt;
  &lt;p class=&quot;third&quot;&gt;12345678901234567890&lt;br /&gt;
    12345678901234567890&lt;/p&gt;
  &lt;p class=&quot;fourth&quot;&gt;12345678901234567890&lt;br /&gt;
    12345678901234567890&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;</code></pre>
<pre class="css"><code>div.section {
  margin: 10px;
  border: solid 10px #CCC;
  padding: 10px;
  <strong>width: 372px;</strong>
}

div.section p {
  padding: 5px;
  border: solid 1px #666;
  background: #F3F3F3;
}

div.section p.first {
  margin: 10px -10px;
}

div.section p.second {
  margin: 10px -20px;
}

div.section p.third {
  margin: 10px -30px;
}

div.section p.fourth {
  margin: 10px -40px;
}</code></pre>
<p>IE6では，ネガティブマージンをとった要素を包含する祖先要素に <em>width が明示的に指定してあると，その祖先要素の padding辺を越えた部分が表示されなくなります</em>。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-5.gif" alt="sample：祖先要素にwidthを指定した場合のIE6での表示" /></p>
<p>IE7では，左側は表示されますが，右側が表示されなくなります。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/negative-margin-7.gif" alt="sample：祖先要素にwidthを指定した場合のIE7での表示" /></p>
<h4>参考</h4>
<p>各ブラウザでの表示を確認できるように，以下に同じ内容をまとめておきましたので，参考にしてください。</p>
<ul class="link-list">
<li><a href="http://www.d-spica.com/try/negative-margin.html">CSS - ネガティブマージン | Try | d-spica</a></li>
</ul>]]>
    </content>
</entry>

<entry>
    <title>dtをfloatする場合の注意点</title>
    <link rel="alternate" type="text/html" href="http://blog.d-spica.com/entry/080512dtfloat.html" />
    <id>tag:blog.d-spica.com,2008://1.42</id>

    <published>2008-05-12T09:03:58Z</published>
    <updated>2008-06-20T14:35:24Z</updated>

    <summary> dl の定義リストで，dt を float させることがよくあります。このとき注意したい点をまとめておきます。 新着情報のようなところで，更新日を dt で，更新内容を dd でマークアップした場合を想定してみましょう。 ...</summary>
    <author>
        <name>麦</name>
        
    </author>
    
        <category term="XHTML/CSS" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="css" label="CSS" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="dl" label="dl" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="float" label="float" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://blog.d-spica.com/">
        <![CDATA[<div class="lead">
<p><img src="http://blog.d-spica.com/img/base/ec-xhtml-css.jpg" alt="" width="120" height="120" class="eyecatch" /></p>
<p>dl の定義リストで，dt を float させることがよくあります。このとき注意したい点をまとめておきます。</p>
<p>新着情報のようなところで，更新日を dt で，更新内容を dd でマークアップした場合を想定してみましょう。</p>
</div>]]>
        <![CDATA[<p>まず，XHTMLでのマークアップは次のような感じです。</p>
<pre class="xhtml"><code>&lt;dl class=&quot;recent&quot;&gt;
  &lt;dt&gt;2008-05-12&lt;/dt&gt;
  &lt;dd&gt;ページ5を更新しました。テキストテキストテキスト。&lt;/dd&gt;
  &lt;dt&gt;2008-05-10&lt;/dt&gt;
  &lt;dd&gt;ページ4を更新しました。テキストテキストテキスト。&lt;/dd&gt;
  &lt;dt&gt;2008-05-07&lt;/dt&gt;
  &lt;dd&gt;ページ3を更新しました。テキストテキストテキスト...。&lt;/dd&gt;
  &lt;dt&gt;2008-05-06&lt;/dt&gt;
  &lt;dd&gt;ページ2を更新しました。テキストテキストテキスト...。&lt;/dd&gt;
  &lt;dt&gt;2008-05-04&lt;/dt&gt;
  &lt;dd&gt;ページ1を更新しました。テキストテキストテキスト。&lt;/dd&gt;
&lt;/dl&gt;</code></pre>
<h4>基本形</h4>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-0.gif" alt="sample：基本形" /></p>
<pre class="css"><code>dl.recent dt {
  clear: left;
  float: left;
  width: 7em;
}

dl.recent dd {
  margin-left: 7em;
}</code></pre>
<p>次の点に注意してください。</p>
<ul>
  <li>dt で前の float を clear します。</li>
  <li>表示フォントサイズを大きくしても折り返さないように，dt の width は <em>em</em> で。</li>
  <li>同様に dd の margin も <em>em</em> で。</li>
  <li>基本的に横方向の margin, padding, width を <em>em</em> で指定しておくとよいでしょう。</li>
</ul>
<h4>縦方向の間隔をとる</h4>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-1.gif" alt="sample：縦方向の間隔をとる（ddにmargin）" /></p>
<pre class="css"><code>dl.recent dt {
  clear: left;
  float: left;
  width: 7em;
}

dl.recent dd {
  margin-left: 7em;
  margin-bottom: 10px;
}</code></pre>
<p>dd に<code>margin-bottom: 10px;</code>をとります。dt に縦方向の margin をとると，IE以外のブラウザでズレが出ます。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-3.gif" alt="sample：dtにmarginをとる（IE以外）" /></p>
<pre class="css"><code>dl.recent dt {
  clear: left;
  float: left;
  width: 7em;
  margin-bottom: 10px;
}

dl.recent dd {
  margin-left: 7em;
}</code></pre>
<p>このズレを出さないためには，</p>
<ul>
  <li>縦方向の margin, padding, border, height の総計が，dd のほうが（dt よりも）高くなるようにします。</li>
</ul>
<p>IE6, 7 では，このズレは出ません。</p>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-2.gif" alt="sample：dtにmarginをとる（IE）" /></p>
<h4>dtの横に隣り合う部分がIE6で3px右にずれる</h4>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-4.gif" alt="sample：IE6でddの1行目が右にずれる" /></p>
<p>IE6では，floatした dt の横に隣り合う部分，dd の1行目が右にずれます。</p>
<p>dd のほうに zoom: 1; をあてることでズレは一応解消します。しかし，この方法は，他のところで支障がでる場合があるので，注意して使ってください。</p>
<pre class="css"><code>dl.recent dt {
  clear: left;
  float: left;
  width: 7em;
}

dl.recent dd {
  margin-left: 7em;
  margin-bottom: 10px;
  zoom: 1;
}</code></pre>
<h4>dtにborderを入れる</h4>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-5.gif" alt="sample：dtにborderを入れる" /></p>
<pre class="css"><code>dl.recent dt {
  clear: left;
  float: left;
  width: 7em;
  padding: 2px 0.5em;
  border-left: solid 0.5em #CCC;
  border-top: solid 1px #CCC;
}

dl.recent dd {
  margin-left: 8.5em;
  margin-bottom: 10px;
  padding: 3px 0;
}</code></pre>
<p> border-width も左右は em で指定し，</p>
<ul>
  <li>dtのwidth + dtの左右のpadding + dtの左右のborder-width = ddの左のmargin</li>
</ul>
<p>となるようにしています。</p>
<p>縦方向の margin, padding, border も dt と dd で位置が合うように，また dt が dd より高くならないように調整します。</p>
<h4>dt, ddを通してborderを入れる</h4>
<p class="sample"><img src="http://blog.d-spica.com/illust/dt-float-6.gif" alt="sample：dt, ddを通してborderを入れる" /></p>
<pre class="css"><code>dl.recent dt {
  clear: left;
  float: left;
  width: 7em;
  padding: 10px 0.5em;
}

dl.recent dd {
  margin-left: 0;
  padding: 10px 0.5em 10px 8em;
  border-bottom: solid 1px #CCC;
}</code></pre>
<p> dd の左の余白を margin ではなく padding にすることによって，左隅から border が引かれます。</p>
<p> この場合 dd に zoom: 1; をあてると，dd がさらに 8em（borderも含めて）右に寄ってしまうので注意してください。</p>
<h4>表示フォントサイズの変更に対応するには</h4>
<p>dt を float した場合，ブラウザの表示フォントサイズを大きくすると，レイアウトが崩れることがよくあります。</p>
<p>横方向の長さを <em>em</em> で指定することで，表示フォントサイズの変更にある程度まで対応できるでしょう。</p>
<p>また，dt と dd の line-height や font-size を同じにしておくと，dt が dd より高くなってずれるというトラブルも起きにくくなります。</p>
<h4>参考</h4>
<p>各ブラウザでの表示を確認できるように，以下に同じ内容をまとめておきましたので，参考にしてください。</p>
<ul class="link-list">
<li><a href="http://www.d-spica.com/try/dt-float.html">CSS - dtをfloatする場合の注意点 | Try | d-spica</a></li>
</ul>]]>
    </content>
</entry>

</feed>
