BugTrack/30のミスの修正と提案

  • ページ: BugTrack
  • 投稿者: reimy
  • 優先順位: 重要
  • 状態: 完了
  • カテゴリー: 本体バグ
  • 投稿日: 2002-08-08 (木) 01:37:20
  • バージョン:

メッセージ

BugTrack/30の修正で、<ul>のマージン設定だけでは桁位置は揃いません。パディングも同時に設定する必要があります。下記のように修正すれば桁位置が揃うようになります。

*** html.php 411
-    array_push($result, sprintf($open, " style=\"margin-left:".($margin * 3)."em\""));
+    array_push($result, sprintf($open, " style=\"padding-left:".($margin * 3)."em;margin-left:".($margin * 3)."em\""));

Internet ExplorerとNetscape/Mozillaではリストの左開けの仕組みが異なるので、margin-leftとpadding-leftの両方に同じ値を設定する必要があります。


【補足】
デフォルトでは$body左端から第1階層、第1階層から第2階層、第2階層から第3階層のそれぞれが等間隔に左マージンが開きますが、$body左端から第1階層との間だけをもっと広げたい人もいるかと思います

その場合は下記のようにします。

if($level == $margin)
    array_push($result, sprintf($open, " style=\"padding-left:".($margin * 16 + 16)."px;margin-left:".($margin * 16 + 16)."px\""));
else
    array_push($result, sprintf($open, " style=\"padding-left:".($margin * 16)."px;margin-left:".($margin * 16)."px\""));

この場合、$body左端と第1階層との間隔が16+16=32px、第1階層から第2階層、第2階層から第3階層との間隔が16pxとなります。ご自分のレイアウトに合わせて調整してみてください。-- reimy 2002-08-08 (木) 03:39:14

【提案】
$bodyの左端から第1階層までの間隔と、各階層間の間隔をそれぞれpukiwiki.ini.phpで設定するようにしたほうがわかりやすいかも…。ついでにリストマークが不一致になる現象を回避。下記のように -- reimy 2002-08-08 (木) 03:53:25
*** html.php 391
function list_push(&$result,&$saved,$tag,$level)
{
+    global $_list_left_margin,$_list_margin;
*** html.php 411
-    array_push($result, sprintf($open, " style=\"margin-left:".($margin * 3)."em\""));
+    if($level == $margin)
+       array_push($result, sprintf($open, " style=\"padding-left:".($margin * $_list_margin + $_list_left_margin)."px;margin-left:".($margin * $_list_margin + $_list_left_margin)."px\" class=\"list$level\""));
+    else
+        array_push($result, sprintf($open, " style=\"padding-left:".($margin * $_list_margin)."px;margin-left:".($margin * $_list_margin)."px\" class=\"list$level\""));
*** pukiwiki.ini.php 86
+ /////////////////////////////////////////////////
+ // リスト構造の左マージン
+ $_list_left_margin = 16; // リストと画面左端との間隔(px)
+ $_list_margin = 16;      // リストの階層間の間隔(px)
  /////////////////////////////////////////////////
  // テキストエリアのカラム数
***default.ja.css に追加
ul.list1{
    list-style-type:disc;
}

ul.list2{
    list-style-type:circle;
}

ul.list3{
    list-style-type:square;
}

ol.list1{
    list-style-type:decimal;
}

ol.list2{
    list-style-type:lower-roman;
}

ol.list3{
    list-style-type:lower-alpha;
}
  • diffファイルとして添付してもらえると作業がとても楽なのですが、お願いできますか? -- ゆう 2002-08-08 (木) 11:33:04
  • 上の修正+ちょっといじったdiffを添付しておきます。ご確認ください。 -- ぱんだ 2002-08-08 (木) 18:32:59
  • 現在cvsに上がっているhtml.php(version1.33以降)にはバグがあって、行頭-/+直後にスペースがある場合*1にインライン要素の展開に失敗します。128.diffを適用すると修正されますので、cvs版をご利用の方はパッチを適用することをお勧めします。 -- ぱんだ 2002-08-13 (火) 10:56:25
  • 盲点でした…すみません。 -- ぱんだ 2002-08-13 (火) 10:57:49
  • 128.diffを取り込みましたが、それでいいですか? -- ゆう 2002-08-22 (木) 02:46:18
  • いいみたいですね。 -- ゆう 2002-08-23 (金) 21:40:00

*1 ここのFrontPageなど

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2002-11-05 (火) 17:35:59
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.314 sec.

OSDN