2011-01-22 16 views
8

Ho un set di stili che sono stati creati prima all'interno dell'attributo style su una pagina.Il CSS non funziona nel foglio di stile

Voglio spostarlo da essere sulla stessa pagina in un foglio di stile.

tuttavia, quando lo spostamento in un file .css, la pagina si rompe, riporta il codice al documento html e funziona di nuovo bene.

Questo assolutamente non ha senso, lo spostamento di stili da uno stile a un file css non dovrebbe interrompere il codice, dovrebbe?

Mi manca qualcosa? Non sto cambiando alcun codice, è semplicemente una copia e incolla.

+0

Questa potrebbe sembrare una domanda stupida, ma fai riferimento al file CSS all'interno della tua pagina? – Mihai

+2

Manca chiaramente "abbastanza informazioni per consentire a qualcuno di aiutarti a risolvere il tuo problema". Posta dettagli per esempio, come stai includendo il file css nel tuo file HTML? – DwB

+0

Non possiamo aiutarti senza un esempio .. – Yorian

risposta

20

Questo è solo uno scatto al buio poiché (al momento di questo post) non hai fornito il codice sorgente.

Assicurati di collegarti al foglio di stile utilizzando un tag link nello head del documento HTML.

Se trovassi:

<style type="text/css"> 
/* <![CDATA[ */ 
#someid 
{ 
    margin: 0; 
    padding: 3px 12px; 
} 
/* ]]> */ 
</style> 

Avrete bisogno di avere

#someid 
{ 
    margin: 0; 
    padding: 3px 12px; 
} 

nel file CSS con:

<link rel="stylesheet" type="text/css" href="path/to/style.css" /> 

per collegare il foglio di stile.

alcuni errori comuni newbie includono:

  • <style type="text/css" src="path/to/style.css">: perché è una sintassi simile al tag <script>, che avrebbe senso, ma non è valido
  • <link rel="stylesheet" src="path/to/style.css">: ma link elementi utilizzare href non src
  • posizionando gli elementi link all'interno del corpo: sebbene i browser tenderanno a gestire gli elementi link nel corpo, è probabile che ci saranno alcuni errori e non è un comportamento definito
  • non specifica di una dichiarazione di tipo docty: consente al browser di passare alla modalità quirks, ovvero mai una buona idea.
+0

+1 per mostrare come farlo. Dubito che non puoi sbagliare ora;) – Blender

+0

Grazie per il tuo aiuto, è molto apprezzato, tuttavia penso che il problema che sto avendo, dopo un po 'più di test sembra essere più relativo al browser, come in, su IE8/7 e FF4 e Safari funziona bene, ma in Chrome, quando eseguo i file come file locali, va bene anche, ma dopo aver caricato sul mio server, alcuni elementi si stanno spostando verso il basso invece che accanto. Il che non ha senso, ma se trasferisco gli stili in HTML, allora funziona bene. C'è un bug in Chrome che farebbe questo? o qualcos'altro? –

3

È necessario assicurarsi che il foglio di stile sia importato correttamente. A volte il @import non funziona bene se non utilizzato di conseguenza, in modo sempre riferimento foglio di stile:

<link rel="stylesheet" type="text/css" href="name-of-stylesheet.css" />

ricordarsi sempre di chiudere il tag <link> come si tratta di un tag auto-vicino. Penso che @zzzzBov abbia dimenticato di dirlo.

Infine, se questo non funziona, provate a sostituire alcuni degli stili scrivendo fisicamente (sopra la sezione </head>) qualcosa come:

<style type="text/css"> 
    body { background: blue; } 
    * { color: red; } 
</style> 

e vedere se questo ti dà uno sfondo blu e rosso testo colorato. Dovrebbe. Successivamente, prova ad implementare il metodo di riferimento e assicurati di fare riferimento al file del foglio di stile nella directory corretta.

Buona fortuna!

+0

hai solo * bisogno * di chiudere ('/>') tag solisti in XML/XHTML, e anche allora, i browser sono molto indulgenti. – zzzzBov

+0

@z: grazie per il chiarimento. apprezzare che – Amit

0

Ho avuto lo stesso problema, ma la causa non è stata un errore nel codice ma il fatto che il file .css è stato caricato con un certo ritardo dopo aver apportato le modifiche al suo interno. Il server aveva bisogno di 5-10 minuti per aggiornare le modifiche.

+0

Ciao e benvenuto a StackOverflow! Si prega di leggere [Come rispondere a una guida alle domande] (http://stackoverflow.com/questions/how-to-answer). Questo sito è un sito di domande e risposte, non un forum. Puoi aggiungere alcuni dettagli aggiuntivi alla tua risposta? È un po 'vago. – slm

1

Ho avuto anche questo problema, e il motivo era che il percorso doveva essere aggiornato per alcuni riferimenti a url() poiché il file css era in un'altra cartella rispetto al file html da cui era stato precedentemente chiamato.

Quindi, in pratica

background-image: url('patterns/debut_dark.png'); 

doveva essere cambiato a

background-image: url('../patterns/debut_dark.png'); 
0

Non includere <style type="text/css"></style> nel file css.

Problemi correlati