HTMLのリストタグの並び方をデザインするCSSのコーディング 結城永人 -2016年6月21日 サイトでリストを表示するにはulタグ(順序なしリスト)、またはolタグ(順序ありリスト)にliタグを追加して行く。追加されたliタグのところがリストになってサイトに表示されることになる。 初期設定だと上下と左側に間隔が取られてリストの頭にulタグならば中黒(・)が、olタグならば番号(1.)が付けられて縦並びで空行なしにデザインされている。 目次リストの四つの主なデザインリストの左側の間隔を消すリストのマーカーを消す縦並びのリストを広げるリストを横並びにするリストの位置を揃える全体的なリストの幅の調整部分的なリストの幅の調整リストの折り返しを調節する文字間で改行させる場合項目毎に改行させる場合IEのヴァージョン7以前への対応 リストの四つの主なデザイン リストの左側の間隔を消す 項目①項目②項目③ ul {padding-left:0;margin-left:1em;} 画面に左寄せで表示するにはulタグ、またはolタグに{padding-left:0;}を指定すれば良い。 リストで左側に間隔が取られるのはタグの外側のmarginではなくて内側のpaddingに間隔が取られるせいだ。 ただしリストのマーカーも欠けて来てしまうので、十分に出しておきたければCSSのpadding要素のleftで1em(一字分程度)以上の間隔を取るべきかも知れない。 リストのマーカーを消す 項目①項目②項目③ ul {padding-left:0;list-style:none;} リストを左合わせで表示するには左寄せのulタグ、またはolタグにCSSで{list-style:none;}を指定すれば良い。 CSSのlist-style要素にtype(マーカーの種類)の指定を付け加えてlist-style-type要素の場合でも「none」を使って{list-style-type:none;}になる。 その他、list-style要素にはimage(マーカーの画像)やposition(マーカーの位置)の指定もあるので、幾つかを同時にコーディングするならばtypeを付け加えておくと切り離してデザインできる。 只単に{list-style:none;}だとlist-style-type要素とlist-style-image要素とlist-style-position要素で共通してマーカーが消える。 縦並びのリストを広げる 項目①項目②項目③ li {margin:1em 0;} リストのliタグに1emの空行を挟むならばCSSで{margin:1em 0;}を指定すれば良いだろう。 上下のリストで間隔が重なっても打ち消されて求め通りに合わさるから大丈夫なんだ。 CSSのmargin要素の種類や値を変えれば個々のリストに様々に間隔を取ることができる。 リストを横並びにする 項目①項目②項目③ ul {padding-left:0;} li {display:inline;} リストのliタグにCSSで{display:inline;}を指定すれば良い。 HTMLのインライン要素として扱われるので、元々のブロック要素のように個々のリストがサイトに一行では表示されず、纏めて一行に収まるようになる。 リストのマーカーが消えて隙間だけが残るので、消したければliタグの親要素のulタグかolタグにpadding-left:0;も指定する。 display要素のinlineを使うとliタグの上下にmarginやpaddingを付けても縦並びのように広がらないので、注意しておきたい。 リストの位置を揃える 全体的なリストの幅の調整 項目①項目②項目③ ul {padding-left:0;width:100%;} li {display:inline;} リストが縦並びでもあり得るけれども横並びだとさらに個々のリストがリスト全体からはみ出し易くなる。 リスト全体に合わせるならばHTMLのリストのulタグ、またはolタグにCSSで{width:100%;}を指定すれば良いだろう。 width要素の値を変えることによってリストの幅を好みで全体的に合わせることができる。 部分的なリストの幅の調整 項目①項目②項目③ ul {padding-left:0;} li {display:inline;margin-right:1em;} リストを只単に横並びにしてもリスト同士がくっ付いてしまうからサイトの見映えや使用感が損なわれるかも知れない。 個々のリストの右側に1emの間隔を取るならばリストのliタグにCSSで{margin-right:1em;}を指定すれば良いだろう。 margin要素の種類や値を変えることによってリストの幅を好みで部分的に調節することができる。 CSSでの指定をpadding要素に置き換えてもサイトのデザインは同じで、右側に1emでは{padding-right:1em;}でも見映えや使用感はmargin-rightを使った場合と変わることはない。 liタグの左右で間隔を取った場合には互いに打ち消されないようだから注意しなくてはならないと思う。 ところで個々のリストの左右のどちらかに間隔を取って行くとリストの全体的なデザインからしてどちらかの端に余分な間隔も取られてしまう。 両側をピッタリ合わせるには個々のリストの右側に1emを空けているならばリストのulタグ、またはolタグにCSSで{margin-right:-1em;}を指定すれば良いだろう。 右端のliタグの余分な間隔をリスト全体の右端から互いに等しい間隔で詰めることによって相殺しているわけだ。 ulタグ、またはolタグへのCSSのmargin要素をpadding要素に置き換えても結果は変わらない。 これをやっておかないと個々のリストの文章の長さに伴う折り返しの位置の違いから左右のどちらかの端が必要以上に増えることが考えられる。 ただしリスト全体が折り返すかどうかが予め分からない場合は折り返さないときに却ってリスト全体の幅が足りなくなって表示がズレるかも知れないので、もう一つの方法でリスト全体の幅を相殺しないように最初から合わせる方が良い。 もう一つの方法 項目①項目②項目③ ul {padding-left:0;} li {display:inline;} li:not(:last-child) {margin-right:1em;} liタグの間隔を取るCSSの指定先に擬似クラスの:not(:last-child)を使って最後のliタグを除外すると最初から余分な間隔を付けずに済む。 リストの折り返しを調節する リストのliタグの文章が日本語では大丈夫なのに英語になるとリスト全体の幅に揃わず、折り返しが抜けてしまうことがある。 文字間で改行させる場合 項目①項目②項目③ ul {padding-left:0;word-break:break-all;} li {display:inline;} li:not(:last-child) {margin-right:1em;} サイトに載せる個々のリストがリスト全体の端で折り返される各行でのばら付きを考えなくてはならなくなるんだ。 英語でも日本語のように単語のままで折り返さない、文字の切れ目で折り返すようにするには個々のリストの親要素のulタグかolタグにCSSで{word-break:break-all;}を指定すると良い。 ただし不十分なところもあってリストの間隔がリスト全体の端にかかると折り返しが行われずにリストは抜けてしまうんだ。 リストの間隔がリスト全体の端になるべくかからないように小さめに設定しておくしかないのではないか。大きく設定するとその分だけリスト全体の端にかかり易くなり、リストの抜ける確率が高まるからリストの間隔を狭めてリスト全体の端に収まるようにして行く。 リスト同士の間に半角スペースを挟んだりすれば容易いかも知れないし、各行のリスト全体でのばら付きは必ずしも大きくはない。 ただしThe W3C Markup Validation ServiceでサイトをチェックするとHTMLとしては芳しくなさそうなので、閲覧するのに支障は特に見当たらないけれども手を加えるとすれば半角スペースを挟むに付けてもリストの中に入れてしまいたくなる。 項目毎に改行させる場合 項目①項目②項目③ ul {padding-left:0;} li {display:inline-block;} li:not(:last-child) {margin-right:1em;} リストタグの横並びの指定をCSSの{display:inline-block;}にしておくと個々のリストは項目毎に折り返されるように変わって来る。リスト全体への配分も決められるから幅を合わせるのはさらに容易いかも知れない。 インライン要素だけれどもリストそのものがブロック要素として扱われるようになるので、リスト全体の端で一行に収まり切らないリストはそのままで折り返されるんだ。 リストの割合で一行に四つ収めたければリストのliタグにCSSで{width:25%;}を指定すれば良いだろう。割合を変えることによってリスト全体に収めるリストの数を増減させることができる。 しかし合計で100%になるようにliタグの割合を配分してもリスト全体に収まり切らないことがあり、ブラウザに反映しない要因は他のところとの兼ね合いも含めれば様々に考えられるけど、一つにはHTML編集の幾つかのliタグを記載する際に改行を挟むとその分だけ100%を越えてしまい得るから止めておかなくてはならなかった。 そして上下左右にmarginやpaddingを付けるならば互いに打ち消されないのも注意しておきたいと思う。 文字位置が左寄せになるから中寄せにしたければHTMLのリストのulタグ、またはolタグにCSSで{text-align:center;}を指定するか、さもなければliタグに同じようにすると良いだろうし、右寄せだとtext-align要素の値にrightを使うことになる。 それぞれの違いとしては前者はリスト全体の並びも変わる。後者はそれは生じない。なのでリストの最後の方だけ数が足りなくて(三つ並びでリストが七つだと三段目でリストが一つしか残されてない)リスト全体に対して間隔が余るとデザインに違いが出て来る。使い分けが求められるところだ。 リストの割合を指定するかぎり、リストの間隔を取らなくても個々のリストをリスト全体の端に合わせることが直ぐにできた。 IEのヴァージョン7以前への対応 リストタグに関してCSSのdisplay要素のinline-blockはブラウザのIE(インターネットエクスプローラー)のヴァージョン7以前では反映しないらしい。 CSSの display: inline、display: block、display: inline-block をマスターしよう!に対処法が載っていた。CSSのスターハックという手法が使われているようで、リストのliタグには{display:inline-block; *display: inline; <!-- IE用のハックです --> zoom: 1; <!-- IE用の hasLayout を true にするための記述です -->}と指定しておく。 ところでCSSのハックはスターでなくとも他のブラウザには記述ミスと捉えられるらしいから不具合はなさそうにせよ、注意は必要かも知れない。それも避けるとすると条件付きコメントを用いてヴァージョン7以前のIEのためにCSSを別に記載するべきだろう。 CSSは後から読み込まれたものがサイトに表示されるから通常のliタグを置いて次に<!--[if lte IE 7]--><!--[endif]-->という専用の条件付きコメントを置く。二つの命令文の間に通常のliタグとIDやclassを合わせるようにしながら{display:inline;zoom:1;}を記載すればヴァージョン7以前のIEのブラウザに反映するようになる。 関連ページ縦並びリストのマーカーや左端が揃った状態を中寄せする方法 コメント 新しい投稿 前の投稿
エドガー・アラン・ポーの黒猫の原文と注解 アメリカの英語の小説、 エドガー・アラン・ポーの 黒猫 を日本語に翻訳 しながら分からない単語や熟語を調べたので、英語の学習用に原文に沿って段落毎に掲載する。 取り上げる言葉の語彙力としてはおよそ日本の高校を卒業した水準以上、すなわち英検二級かTOEIC730点くらいを越える...
ナサニエル・ホーソーンの若いグッドマン・ブラウンの原文と注解 アメリカの英語の小説、 ナサニエル・ホーソーンの 若いグッドマン・ブラウン を日本語に翻訳 しながら分からない単語や熟語を調べたので、英語の学習用に原文に沿って段落毎に掲載する。 取り上げる言葉の語彙力としてはおよそ日本の高校を卒業した水準以上、すなわち英検二級かTOEIC7...
ナサニエル・ホーソーンの若いグッドマン・ブラウンの日本語訳 十九世紀のアメリカの作家、小説家の ナサニエル・ホーソーン の小説の 若いグッドマン・ブラウン (1835)の日本語訳を行った。一つの文学作品として人間の洞察力に富んだ優れた内容を持つだけではなく、表現も意義深いから外国語の英語の聞き取りと読み取りの教材としても最適だと感じる。 ...
三浦春馬のたぶん本当の死因 三浦春馬は自殺した。その後、 芦名星と竹内結子の自宅のクローゼットでの首吊りという同じ仕方での連続自殺 があり、他殺の陰謀論も思い浮かぶけど、しかし違うのではないか。今の 日本の芸能界には死にたくなる気持ち悪さがある し、芸能人が裕福な生活でも自殺することはさほど不思議ではないと...
アドセンスの個人のアメリカの税務情報/W-8BEN納税フォームの書き方 アドセンスに利用者の税務情報が必要となり、2021年6月1日以降、YouTubeのサイト広告などで収益を得る場合には税務情報を提出しないとアドセンスの支払いからアメリカの源泉所得税が米国内国歳入法の第三章により、控除される。 Google は、YouTube パートナー プロ...
芦名星のたぶん本当の死因 芦名星は自殺した。その前後、 三浦春馬と竹内結子の自宅のクローゼットでの首吊りという同じ仕方での連続自殺 があり、他殺の陰謀論も思い浮かぶけど、しかし違うのではないか。今の 日本の芸能界には死にたくなる気持ち悪さがある し、芸能人が裕福な生活でも自殺することはさほど不思議ではない...
苫米地英人のマインドフルネスに役立つ機能音源 認知科学者の 苫米地英人のコーチング を自己流で始めてさらに良いかも知れないと新しく始めたのが機能音源なんだ。聴くと周波数などの仕組みで脳に影響を与えて様々な効果を発揮するために作られているといわれる。調べるとCDの数十枚のセットで何万円もするので、驚かされるけれども教材として売...
ヘンリー・ローソンの家畜追いの妻の日本語訳 十九から二十世紀のオーストラリアの作家、詩人で小説家の ヘンリー・ローソン の小説の 家畜追いの妻 (1892)の日本語訳を行った。一つの文学作品として人間の洞察力に富んだ優れた内容を持つだけではなく、表現も意義深いから外国語の英語の聞き取りと読み取りの教材としても最適だと感じる...
ヘンリー・ローソンの家畜追いの妻の原文と注解 オーストラリアの英語の小説、 ヘンリー・ローソンの 家畜追いの妻 を日本語に翻訳 しながら分からない単語や熟語を調べたので、英語の学習用に原文に沿って段落毎に掲載する。 取り上げる言葉の語彙力としてはおよそ日本の高校を卒業した水準以上、すなわち英検二級かTOEIC730点...
佐藤義則のヨシボールの握り方や投げ方 佐藤義則の基本情報 佐藤義則/阪急ブレーブス| フジテレビ 1954年9月11日生まれ、北海道奥尻郡奥尻町出身、函館有斗高等学校を進学して1977年に日本大学からドラフト一位で阪急ブレーブス(1989年からオリックスブレーブス、1991年からオリックスブルーウェーブ)に入...
コメント