質問箱/5246

カテゴリデザイン・CSS・スキン
サマリ見出しに矢印を入れたい
バージョン1.5.1
投稿者nuri?
状態完了
投稿日2016-12-09 (金) 21:01:46

質問

見出しの右上に付く矢印を見出しの中に入れたいのですがどのようにすれば良いでしょうか? 以下の箇所の順番を変えたりしましたが思うような結果が得られません。
lib/convert_html.php

// Add heding
return array($text . $anchor, $this->count > 1 ? "\n" . $top : '', $autoid);
}

現在はcssの擬似要素で重ねていますが出来れば出力させた際にhタグの中に入るようにしたいです。

回答

  • それでしたら、見出し要素を担当しているクラス側で修正するしかなかったと思います。
    // * Heading1
    // ** Heading2
    // *** Heading3
    class Heading extends Element
    {
    	(中略)
    
    	function toString()
    	{
    		return $this->msg_top .  $this->wrap(parent::toString(),
    			'h' . $this->level, ' id="' . $this->id . '"');
    	}
    }
    $this->msg_top にトップへのナビゲーション(質問で提示されている行だと配列の2番目の要素、$this->count > 1 分岐の結果)がHTML出力用の文字列で格納されており、Element クラスから継承されたタグのペア生成用のwrap() とは別で合体させているようなので。 -- 2016-12-12 (月) 21:32:02
    • ありがとうございます。該当箇所を以下のようにしたところ<h>の後ろに入れることが出来ました。条件を増やしてしまい申し訳ないのですがもし</h>の前に入れる方法をご存知の方がいらっしゃいましたらご意見をいただけると幸いです。 -- nuri? 2016-12-15 (木) 22:33:33
      		return $this->wrap(parent::toString(),
      		'h' . $this->level, ' id="' . $this->id . '"' . $this->msg_top);
      ja.lng.php
      $_msg_content_back_to_top = '><a class="jumpmenu" href="#navigator">&uarr;</a';
  • 1.5.1 ならlib/convert_html.php の70行目あたり、
    	function wrap($string, $tag, $param = '', $canomit = TRUE)
    	{
    		return ($canomit && $string == '') ? '' :
    			'<' . $tag . $param . '>' . $string . '</' . $tag . '>';
    	}
    が上記のwrap() の継承元です。開きタグの直後や閉じタグの直前に挿入が希望なら、1番目の引数である$string に渡すとよさそうなので、
    		return $this->wrap($this->msg_top . parent::toString(),
    あるいは
    		return $this->wrap(parent::toString() . $this->msg_top,
    という位置で文字列結合したほうが、id やclass などを渡す3番目の引数にねじ込むよりはスマートに実現できると思います。 -- 2016-12-16 (金) 00:10:23
    • ありがとうございます。おかげで両方に対応でき、ja.lang.php側も前後を削らずに済みました。 -- nuri? 2016-12-16 (金) 23:51:23


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-16 (金) 23:52:35
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.248 sec.

OSDN