2013-12-19 25 views
0

我想補充是這樣的:如何在Yii cmenu小部件生成的LI之間添加一些html?

menuitem1/menuitem2/menuitem3 

我需要添加LI生成的元素之間的斜線/

任何線索如何使它?

我已經試過這樣:

array('label'=>'About us', 'url'=>array('/about/index'), 'template'=> '/'), 

但我得到這個生成:

<li class="active">/</li> 

難道我錯過放置template屬性?

任何其他方式,因爲,/不是模板?

UPDATE 明白了:

array('label'=>'About us', 'url'=>array('/about/index'), 'template'=> '{menu} <span>/</span>'), 

,這將產生一個後spanli元素。

如果有人有這樣做的更好的方法,請分享。

UPDATE TWO: 雖然這可行,但生成的標記無效。所以一個僞元素可能是一個選項。

回答

3

這是錯誤的HTML。在<li>元素之間不應該有任何標記。如果你想在你的菜單項之間有斜線,我建議你使用另一個小部件來顯示你的菜單項(不使用列表項的東西),或者你使用css僞類:after:before ,在你想要的地方加入斜槓。

http://www.w3schools.com/cssref/sel_before.asp http://www.w3schools.com/cssref/sel_after.asp

當然,另一種選擇是斜線的圖像添加爲元素的背景。我只是不會說這是最好的選擇。

+0

謝謝。根據你在說什麼「li''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''不支持IE7等「不太老」的瀏覽器,IE8也有一些錯誤,我相信。關於這個小部件...只是想我應該設置一個小部件來在Yii上添加斜線......它讓我緊張;) – MEM

+0

如果你想裏面插入這樣李娜斜線:。'

  • /
  • ',這是正常的。如果你想這樣做,我可以改變我的答案,否則,這是無效的'
  • /
  • '。http://grab.by/sZJO。我鏈接到的那些頁面表明:after和:before應該在IE8中工作,而且我之前沒有遇到過問題,而且IE7已經死機。 theie7countdown.com/。我建議不再支持它。 – ethan

    +0

    插入一個'span'也不是:http://grab.by/sZME – ethan

    相關問題