奨励会三段リーグ、片上大輔三段の昇段が決まる
本日行われた奨励会三段リーグ16・17回戦でトップを走る片上大輔三段が14勝目をあげ、2戦を残して2位以内を確定させて四段昇段を決めました。片上三段は現在東京大学法学部3年生で、初の東大生プロ棋士となります。
- 将棋界初の東大生プロ誕生(NIKKEI NET 将棋王国)
- 将棋界初の東大生プロ誕生(産経将棋web)
- 初の東大生棋士誕生 将棋奨励会10期目で夢かなう(asahi.com 将棋)
- 東大生:初の将棋プロ棋士誕生 片上三段、昇格へ(毎日新聞)
- 初の東大生プロ棋士誕生…三段リーグ2位内確定(ZAKZAK)
- 将棋で東大生初のプロ棋士−法学部3年(サンケイスポーツ)
- 「今は自信がある」と片上さん・携帯で両親に報告(NIKKEI NET 将棋王国)
- 三段リーグ10期の末に夢つかむ・片上新四段(NIKKEI NET 将棋王国)
- 片上新四段「今は将棋がすべて」(NIKKEI NET 将棋王国)
- 珍しい学士プロ・80年以降5人目(NIKKEI NET 将棋王国)
- 師匠の森信雄六段「将棋を一番に考えて」(NIKKEI NET 将棋王国)
さすがNIKKEI NET 将棋王国。
現在の上位陣の状況は次のようになっています。2位争いは中村亮介三段、佐藤天彦三段が4敗で並びました。最終日は中村は水津、佐藤は片上との直接対決があり、展開が読めません。
ところで、残り2戦の時点で4名を除いて昇段の可能性が消えているのも珍しいと思います。三段リーグは激戦になりやすいですから。
勝田将棋盤サイトの.comは廃止へ
line-heightでの単位指定
#( ◎Д)y-~~『
div.section p {line-height: 1.5em;}
で数字の部分を調整するのだね。きっとそうだ。』
上の記述を呼んでおやっと思いました。私のCSSにおける単位指定のやり方は「font-size
は%単位、margin
やpadding
はem単位、line-height
は単位無指定」と決めていたからです。しかし、どういう理由でline-height
は単位無指定にしていたのか思い出せなかったため(だめだめです)、調べてみました。
先に結論を書くと、「line-height: 1.5;
」という指定の方が「line-height: 1.5em;
」という指定に比べて、より柔軟です。後者のように指定した場合、文章中で文字を大きくしたときに文字が重なり合う可能性があります*1。具体的な表示例を作成してみました。
前者も後者も「行送りがフォントサイズの1.5倍」という点では同じですが、その内側でフォントサイズを変更したときに違いが生じます。前者の場合はフォントサイズの変化と同じ割合で行間が変化するのに対し、後者の場合はフォントサイズが変化しても行間は変わりません。
どうしてこのような違いが生じるのでしょうか。
REC-CSS2 邦訳の10.8 行の高さを計算するによれば、単位なしの実数値指定とem単位指定はほとんど同じですが、前者では「継承には算出値ではなく指定値を用いる
」のに対し、後者では算出値を用いる点に違いがあります。
ここでいう「指定値」とか「算出値」とか「継承」とは何でしょうか。CSSの基本に立ち返って若干解説します。詳しくは指定値、算出値、実効値を参照して下さい。
スタイルシートでの値指定に用いる単位は、長さに用いるものだけでも様々なものがあります。この中でcmやmmなどそれだけで長さがわかるものは絶対値、emや%など他の単位を参照した上で実際の長さが算出されるものを相対値と呼びます。line-height
を例に取って見てみましょう。ある要素に「line-height: 1.5em;
」という指定を行うと、その要素のフォントサイズの1.5倍の行送りを指定することになります。
p {
font-size: 12mm;
line-height: 1.5em;
}
上記の指定では、p要素の行送りは12mmの1.5倍で18mmに指定されることになります((説明をわかりやすくするため、ここではフォントサイズに絶対値を指定しましたが、一般的にはこのような指定は好ましくありません。(ユーザー側での指定やprint
メディアでの指定なら別ですが。)))。ここでの「1.5em
」が「指定値」(つまり指定された値ですね)で、それを用いて算出された「18mm
」が「算出値」というわけです。
さて、CSSでは「継承」ということが普通に行われています。簡単に言うと、継承とは「(特に指定しない限り)内側にある要素では外側の指定が引き継がれる」ということです。例えば、body
要素で文字色を赤に指定したら、その内部にある要素は全て文字色が赤になります*2。継承されるかどうかはプロパティごとに決められており、line-height
では継承が行われます。
次のようなコードを考えてみます。
<div style="font-size:10mm; line-height:1;">
<p style="font-size:20mm;">line-heightのテスト。</p>
</div>
単位なしの実数値指定のときは、継承は指定値で行われるのでした。つまり上のコードは下のコードと同等です。
<div style="font-size:10mm; line-height:1;">
<p style="font-size:20mm; line-height:1;">line-heightのテスト。</p>
</div>
このとき、上のp要素での行送りの算出値は20mmの1倍で20mmとなり、行間なしでぴったり表示されるわけです。
次にem単位による指定で書くとどうなるでしょうか。
<div style="font-size:10mm; line-height:1em;">
<p style="font-size:200%;">line-heightのテスト。</p>
</div>
em単位のときは、継承は算出値で行われるのでした。div要素での行送りの算出値は10mmの1倍で10mmです。したがって上のコードは下のコードと同等です。
<div style="font-size:10mm; line-height:1em;">
<p style="font-size:20mm; line-height:10mm;">line-heightのテスト。</p>
</div>
p要素でのフォントサイズは20mmですから、10mmの行送りでは文字が重なってしまいます。
「line-height: 1.5em;
」という記述は「行送りはフォントサイズの1.5倍」というつもりだと思うのですが、厳密にはそのような意味にはなっていません。継承を考慮しなければ単位指定によらず同じになるのですが、実際にはこのような違いが生じてしまうことはあまり知られていないのかもしれません。
なお、Netscape Navigator 4.x では、単位なしの実数値指定でも算出値が継承されてしまうという不具合があるそうです(http://members.at.infoseek.co.jp/cssbug/detail/nn4x/b015.html)。
line-height
についてもう少しもご参照下さい。