質問箱/5027

カテゴリデザイン・CSS・スキン
サマリli要素を改行で終了させる
バージョン1.4.7
投稿者なつめ?
状態完了
投稿日2010-11-15 (月) 22:53:54

質問

通常のli要素だと

-テキスト1
-テキスト2
テキスト3

と記述した場合、自動的に以下のようになってしまいます。

<ul>
 <li>テキスト1</li>
 <li>テキスト2
 テキスト3</li>
</ul>

それを

<ul>
 <li>テキスト1</li>
 <li>テキスト2</li>
</ul>
<p>テキスト3</p>

のようにli要素で改行するとそこでli要素が終了するようにするにはどのようにしたらいいのでしょうか?
どこを変更すればいいか分からずに困っています。 よろしくお願いします。

回答

  • 質問箱/4489 -- 2010-11-16 (火) 15:36:27
  • どんな副作用があってもかまわないなら、
    182a183,185
    >               if (isset($this->last->parent) && is_a($this->last->parent, 'ListElement'))
    >                       return FALSE;
    >
    218a222,224
    >               if (isset($this->last->parent) && is_a($this->last->parent, 'ListElement'))
    >                       return FALSE;
    >
    318a325,326
    >               if (is_a($obj, 'Inline')) return FALSE;
    >
    372a381,382
    >               if (is_a($obj, 'Inline')) return FALSE;
    >
    この差分をデフォルト状態のlib/convert_html.phpにあてるとか -- 2010-11-16 (火) 15:46:35
    • どのような副作用があるか怖いですが、上記差分を当てたところ正常に動きました。ありがとうございます! -- なつめ? 2010-11-18 (木) 05:24:03
  • 先日質問箱/5026の記事を見つけlib/convert_html.phpを改造し、それをli要素のすぐ下に記述すると上記が効かなかったのですが他の箇所も変更する必要があるのでしょうか? -- 2010-11-19 (金) 17:47:38
  • 新しく追加したブロック要素の整形ルールの場合に関する話ですよね?質問箱/5026のクラス関数のcanContainの話だけでなく質問箱/4528も関係する話ですが、入れ子関係を調べておかないと思ったような動作にはなりません。 -- 2010-11-19 (金) 23:00:09
    • 上の差分は、まず前半の2つでインライン要素または段落の親要素がListElementクラス(liやddなど)だった場合に親要素へ戻す分岐を追加しています。
      それだけだと新たな子として登録してしまうので、後半2つの分岐追加で強制的にインライン要素を拒否してliの親→ulの親へと戻るようにしています。ただしインライン要素しか拒否していないので、当然ながら段落や他のブロック要素がきた場合はスルーして通常処理を行います。 -- 2010-11-19 (金) 23:00:09
    • それでご希望の件ですが、後半2つの処理に希望するブロック要素の分だけ分岐を追加することが必要です。ここまでのヒントで、自己解決できますか? -- 2010-11-19 (金) 23:00:09

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-11-15 (木) 00:07:06
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.285 sec.

OSDN