2012-04-19 5 views
2

メインにはItem:というカスタム名前空間があります私が編集したwikiであり、その名前空間内のすべてのページがItem:This_item - Item:That_item - Item:Foo_itemと表示されるという苦情があります。CSSに相当するもの:エレメントにコンテンツを追加する 'content:'テキストが追加されました;エレメントからのコンテンツの削除が `????? '

私は、Webおよびその肌のためのCSSを通じてサーフィン行って、出会った:名前空間名「私は例としてmain使います」と、対応するtalkページ名をとり

span#ca-nstab-main:before, 
span#ca-nstab-user:before, 
span#ca-nstab-wp:before { 
content: "[ "; 
} 
span#ca-talk:before { 
content: "& "; 
} 
span#ca-talk:after { 
content: " ]"; 
} 

main talkの代わりに[ main & talk ]と表示されます。

Item:Fooと表示できるようにするには、Fooを「Item:」とオフにしてみてください。カテゴリページに記載されているアイテムがdiv#mw-pagesaタグであることはわかっています。

おそらくインラインでJavaScriptを使用して最初の5文字を​​削除することもできますか?このwikiで$wgAllowUserJsがfalseに設定されているため、「インライン」と言います。

編集: ウィキ芯としてそれを解析します

<style type="text/css"> 
/*<![CDATA[*/  
a[title^=&quot;Item:&quot;] { 
    font-family: 'Lucida Grande', Geneva, Arial, Verdana, monospace; 
    font-size: 12px; 
    display: inline-block; 
    overflow: hidden; 
    text-indent: -2.1em; 
} 
/*]]>*/  
</style> 

私は引用符を解析できません作るにはどうすればよい、トリックはありますか?フォントファミリの行のように二重ではなく一重引用符を使用できますか?

+2

痛いです!あなたのコードをインデントし、質問を段落に分割してください。それ以外の場合、人々はあなたの質問に答えないかもしれません。 :) – Alerty

+1

あなたが要求した通り。 :D – ShoeMaker

答えて

2

CSSだけしか使用できない場合は、このようなことを試すことができます。 (http://jsfiddle.net/zPJHU/

li a { 
/* monospace fonts may be more consistant cross browsers */ 
font-family: "Courier New", monospace; 
font-size: 1em; 
display:inline-block; 
overflow:hidden; 
text-indent: -2.9em; /* may have to play with this value */ 
} 
li a:hover{ 
    font-size: 1.8em; /* just for demonstration of font-size increase */ 
} 

デモマークアップ:

<p>Hover over links to increase font-size</p> 
<ul> 
    <li><a href="#Item:wicket" title="This really says: 'Item:Wicket'">Item:Wicket</a></li> 
    <li><a href="#Item:chewbacca" title="This really says: 'Item:Chewbacca'">Item:Chewbacca</a></li> 
    <li><a href="#Item:obiwan" title="This really says: 'Item:Obi Wan Kenobi'">Item:Obi Wan Kenobi</a></li> 
</ul> 
+0

私はそれが好きです。それがテストする方法があり、名前が 'Item:'で始まる場合にのみテキストインデントを適用しますか? – ShoeMaker

+1

"title"属性は次のようにターゲットできます:a [title^= "Item:"]。更新されたフィーリンの例:http://jsfiddle.net/zPJHU/1/ – ralgh

+0

私のOPでの編集を参照してください。コメントボックスはブロックをフォーマットできません。 – ShoeMaker

0

知らんそれが動作するかどうかが、あなたは以下を持っている右の位置でスパンオープン/クローズタグprepandと追加できます。私はそれを試していないと述べてきたように

<span class="hideme">Foo:</span>Bar 

を、しかし、私は別の方法を知らず、単にCSSを使ってコンテンツをカットする可能性はないかもしれません。 javascriptはそれを行う必要があります。

+0

ページの実際のhtmlは「Item:Foo bar」と表示されます。では、あなたの提案はどのように機能しますか?私はちょうどそれを 'Foo bar'(タイトルとinnerHTMLから "Item:"を削除する)に変更したいと思います。 – ShoeMaker

+0

title属性を変更するとcssを使用できない場合があります。 idが含まれていれば、a hrefはjavascript経由でアクセスすることができます。 – Hajo

+0

これは、私が上でタイプしたのと全く同じようにwiki-coreによって解析されます。名前もid属性もありません。 – ShoeMaker

関連する問題