プロが教える店舗&オフィスのセキュリティ対策術

CSSで、
A:link
A:visited
A:active
A:hover
の指定をする際、別ファイルのスタイルシートを読み込む等の方法ではなく、
style属性を使って直接タグ内へ埋め込むことはできるのでしょうか。
例えば、
<table style="A:link { font-size: 99 }">
のような使い方をしたいのですが・・・うんともすんともです・・・

A 回答 (3件)

まずは、cssの書き方ですが・・・


インラインで書く場合、a:link { font-size: 99 }という様な書き方はしません。
この様な書き方は、headタグ内又は外部ファイルの場合になります。
インラインと言うのは<div style="padding:3px; text-align:right;">などの書き方をいいます。
a要素のcssを指定したい場合かつhtmlに直接記入するには、headタグ内に下記の様に書くしか無かった気がします。

<style type="text/css">
<!--
a:link { color: #0000ff; }
a:visited { color: #000080; }
a:hover { color: #ff0000; }
a:active { color: #ff8000; }
-->
</style>

そもそも、インラインで書くと後々面倒だと思いますけど・・・
    • good
    • 0
この回答へのお礼

koooooooolさん、ご返信ありがとうございます。
私も、たぶん無理なんだろうなぁと、うすうす感づいていたところです。。。
まあ、無理なら無理で仕方がないけど、念のため確認してみようと、質問に参ったわけです。
さて、無理という確認がとれて気持ちがスッキリしたところで、いさぎよく代替手段を検討します!

お礼日時:2009/06/05 11:58

> さて、無理という確認がとれて気持ちがスッキリしたところで、いさぎよく代替手段を検討します!


目的は何でしょうか?
もし目的が「特定のリンクだけスタイルを変更したい」ということなら、class属性と複合させることで対応できます。

<style type="text/css">
a.test:link { color: green; }
a.test:visited { color: #000080; }
a.test:hover { color: yellow; }
a.test:active { color: #ff8000; }
</style>
<a class='test' href='#'>test</a>
    • good
    • 0
この回答へのお礼

think49さん、ご返信ありがとうございます。
目的はそのとおりです。

しかし<head>タグは共有部分としてリテラルで作成してしまったため、修正したくないという思いがあります。
そこでタグ内に直接スタイルを埋め込むという方針にしました。

しかし代替手段は思い浮かばなかったので
結局No.2abrilさんの回答にもあるように、
<a href="#" style="font-size: 99">リンク部分</a>
のように妥協しました。

お礼日時:2009/06/08 17:29

> <table style="A:link { font-size: 99 }">



この書き方は何もかも間違ってますね。

・a要素に対するスタイルをtable要素のstyle属性に指定している。
・style属性として記述する場合はstyle="~"の中は、単にダイレクトに各プロパティの指定をセミコロンで並べなくてはだめ(つまり外部スタイルとしてまとめる場合の{ ~ }の中だけを直接記述するという事)。
・style属性として記述する場合は、疑似要素":link"等は指定できない。

CSSもHTMLも決まり事によって動いている世界ですから当てずっぽうはNGです。ちゃんとルール(文法)を調べてから試みましょう。すぐ調べられる事ですから。

ちなみに、a要素に対するスタイルを、style属性として各タグ毎に記述したいのであれば、以下の様にしかできません。

<a href="#" style="font-size: 99">リンク部分。疑似要素は指定できないので、リンクの操作状態(訪問済・未訪問・マウスオーバー・クリック中)に関わらず常にこのスタイルが適用されるのみ。</a>
    • good
    • 0
この回答へのお礼

 

お礼日時:2009/06/05 12:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!