2010-07-25 12 views
27

Così, invece di farlo usando i CSS:C'è un modo per usare gli stili in linea per definire uno stile di collegamento visitato?

<style type="text/css"> 
a:visited { 
    color: red; 
} 
</style> 

Potrebbe essere fatto utilizzando il codice inline. Qualcosa del genere non funziona:

<a href="http://google.com" style='a:visited:color:red'>Google.com</a> 
+2

Interessante, qual è la ragione dietro a raggiungere lo stile in questo modo? – Hoque

+3

@Hoque il motivo è perché per l'invio di e-mail, molti client di posta elettronica non sono in grado di importare fogli di stile, quindi CSS in linea è il modo migliore per ottenere il rendering dei tuoi contenuti correttamente. –

+0

@Georgy, JavaScript è l'unico modo se vuoi che funzioni in linea. – Pacerier

risposta

17

Non si può fare questo, la specifica (CSS2 qui) covers it briefly here:

Né pseudo-elementi né pseudo-classi appaiono nel sorgente del documento o documento.

:visited insieme agli altri modificatori sono tutte le pseudo-classi, e non c'era mai una messa a punto la sintassi standard per fare quello che stai cercando. Onestamente questa è la prima volta che l'ho mai vista richiesta, quindi non credo che verrà aggiunta alle specifiche in qualsiasi momento ... scusa che la risposta fa schifo, ma è quello che è :)

0

No, non è così che funzionano gli stili in linea. È nelle specifiche, tuttavia i browser non sembrano supportarlo.

0

No. Gli pseduocchiali (ad esempio: first-child,: hover) vengono utilizzati come selettori in base al comportamento e alla relazione con altri elementi DOM. Gli stili incorporati contengono regole. Anche se a un certo punto i browser lo supportano, sembrerà strano.

0

Per quanto ne so, non è supportato ... ma per aggiungere qualche chiarimento per la ragione per voler fare questo, dato che sarebbe sicuramente il modo sub-ottimale di farlo su una normale pagina web , la ragione potrebbe essere quella di utilizzare l'e-mail HTML, che, ad eccezione di alcuni buoni client di posta elettronica, non supporta i normali fogli di stile, quindi è necessario definire tutti gli stili in linea per garantire un buon supporto tra i client di posta elettronica (Gmail e Outlook (ugh) come in mente.)

Naturalmente, è possibile utilizzare qualche altro programma che consente di importare un foglio di stile e convertirlo automaticamente in stili in linea, che è molto più facile da gestire (è quello che faccio), ma sei ancora utilizzando gli stili incorporati nell'analisi finale.

1

Solo per aggiungere una motivazione per ottenere questo stile in linea per i vari stati di un href: in alcune pagine potrebbe apparire testo con collegamento in uno dove lo sfondo è diverso dallo sfondo generale.

Il CSS principale per "a" dà loro un colore che non è buono in quella particolare e singolare area.

Per questo motivo, per dare all'utente l'idea che il collegamento sia un collegamento, è necessario colorare il collegamento in modo diverso dagli altri.

Per me ha funzionato per impostare alcuni style="color: #5070BB;" all'interno del tag <a href="..", ma forse che né i colori a: visited né a: hover vanno bene per quello sfondo e sarebbe utile impostarli in linea.

Sì, è sicuramente una situazione singolare e solitaria, ma questo è un caso reale.

Ciao!

3

Certo che puoi ....

<a href="https://www.yahoo.com/" target="_blank"style="text-decoration: none; border-bottom: 1px solid pink;color:pink !important;"> 
      some link 
     </a> 

jfiddle

Problemi correlati