2016-03-21 9 views
24

3.4. Resource Locators: the <url> type descrive un <url-modifier> aChe cos'è un uso di esempio di <url-modificatore> nella funzione url() di CSS?

Un URL è un puntatore a una risorsa ed è una notazione funzionale indicato con <url>. La sintassi di un <url> è:

<url> = url(<string> <url-modifier>*)

Oltre alla sintassi sopra definito, una a volte può essere scritto in altri modi:

  • Per motivi di eredità, un <url> può essere scritta senza virgolette attorno all'URL stesso. Questa sintassi viene analizzata in modo specifico e produce un <url-token> piuttosto che una funzione sintatticamente. [CSS3SYN]

  • alcuni contesti CSS, come ad esempio @import, permettono un <url> di essere rappresentato da un <string> invece. Ciò si comporta in modo identico a scrivendo una funzione url() contenente quella stringa. Poiché questi modi alternativi <url> per scrivere un <url> non sono notazioni funzionali, essi non possono accettare alcun <url-modifier> s.

Nota: Le regole speciali di analisi per l'eredità citazione mark-meno <url> sintassi significa che tra parentesi, spazi bianchi, singoli apici (') e le doppie virgolette (") che appaiono in un URL devono essere sfuggiti con un backslash, per esempio url(open\(parens), url(close\)parens). a seconda del tipo di URL, potrebbe anche essere possibile scrivere queste personaggi come URL-fughe (ad esempio url(open%28parens) o url(close%29parens)), come descritto in [URL]. (se scritto come funzione normale contenente una stringa, si applicano le normali regole di escape delle stringhe ; solo a capo e il carattere utilizzato per citare la stringa bisogno da sfuggiti.)

a

3.4.2. URL Modifiers

La funzione url() supporta specificando ulteriori <url-modifier> s, che cambiano il significato o l'interpretazione dell'URL in qualche modo. A <url-modifier> è uno <ident> o uno function.

Questa specifica non definisce alcun <url-modifier> s, ma altre specifiche possono farlo.

Vedi anche CSS Values and Units Module Level 3 Editor’s Draft, 21 March 2016


  • Quali sono esempi di usi di <ident> e function a url()?

  • Quali sono le differenze tra <string>, <ident>, function a url()?

+5

Questo non può essere risolta al di là di ciò che è già dato nelle citazioni perché non ci sono noti definizioni in qualsiasi specifica. Se stai cercando esempi truccati, questa domanda è fuori tema. – BoltClock

+1

@BoltClock La specifica definisce che l'uso di un '' è possibile in 'url()'. La domanda sta chiedendo come può essere o può essere implementata questa funzionalità disponibile? Se la funzione è stata utilizzata in natura, in che modo? La seconda parte della domanda è se ci sono differenze tra '', '' alla funzione 'url()'? Non sei sicuro di come sarebbe considerato "off-topic"?Come si può stabilire che nessun browser o utente singolo ha implementato la funzione senza chiedere? – guest271314

+0

Mettendo da parte l'assunto che solo perché è stato definito nelle specifiche significa che le implementazioni devono esistere in natura, la domanda è troppo ampia. Anche se stai richiedendo impls esistenti, stai ancora chiedendo un elenco che è probabile che cambi con le nuove definizioni e le nuove impls (e questo non conta gli imps non standard, dal momento che tecnicamente ogni impl in questo momento non sarà standard) . La seconda domanda può essere risolta parzialmente e piuttosto facilmente: la specifica stessa dice che un modificatore può essere solo un ident o una funzione, pertanto deve rappresentare l'URL stesso. – BoltClock

risposta

1

Un <url-modifier> è o un <ident> o function.

<ident> è un identificatore.

Una parte dell'origine CSS che ha la stessa sintassi di <ident-token>.

<ident-token> Syntax;

non riuscivo a trovare alcun esempio di <ident> usato all'interno della funzione url ma come detto in this email ci sono alcuni possibili usi futuri.

  • Fetch opzioni per controllare CORS/Biscotti/etc
  • lavorare con Subresource integrità

Guardando il <ident> sintassi non è possibile utilizzare una coppia chiave/valore in modo da suppongo la maggior parte di questo sarebbe implementato utilizzando un function che non esiste ancora., suggerimento di risorse potrebbe essere implementato utilizzando <ident>.

.foo { background-image: url("//aa.com/img.svg" prefetch); }

ho fatto comunque trovare un "una raccolta di idee interessanti" con un function<url-modifier> definito.

SVG Parameters (non spec ufficiale)

Il params()function è un <url-modifier>

.foo { background-image: url("//aa.com/img.svg" param(--color var(--primary-color))); }

Problemi correlati