Forme pazzesche. Hack per variazioni di prodotto in WooCommerce Deviation II - Double Bottom

Adoro fare trading sui punti di svolta quando una coppia Forex passa da un trend rialzista a uno ribassista o da un trend ribassista a un trend rialzista. Questi punti di svolta sono molto difficili da negoziare, ma allo stesso tempo, una volta capito come leggerli, passerai al livello successivo e capirai quasi tutti i grafici dei prezzi.

Due principi molto importanti in questo contesto commerciale sono “esaurimento” e “deviazione”, e questi concetti di azione dei prezzi possono sempre essere trovati nei punti di svolta. Nel mio trading e nell'area in cui lavoro (insegnamento agli studenti), parlo di punti di svolta tutto il giorno perché una volta che riesci a identificare i punti di svolta, il tuo trading si trasformerà. E che tu segua un trend, un change trader o un range trader, conoscere i punti di transizione migliorerà il tuo trading.

Tipi di attrito

Dopo fasi di forte trend, è abbastanza facile osservare fasi di esaurimento. I modelli di esaurimento mostrano un cambiamento graduale nel sentimento di tendenza e una transizione lenta.

Esaurimento I – Perdita di slancio

Innanzitutto, iniziamo con un semplice grafico dei prezzi. A sinistra vediamo un forte trend rialzista con lunghe candele verdi e momentum. Poi all'improvviso abbiamo uno stoppino lungo e poi le candele diventano sempre più piccole e finalmente iniziamo a vedere le candele rosse. È come lanciare una palla in aria: inizia velocemente e poi perde lentamente slancio finché non smette di muoversi verso l'alto. Le tendenze spesso si comportano allo stesso modo di una palla.

Esaurimento II - Testa e spalle

Testa e spalle è di gran lunga il mio modello preferito e mostra magnificamente la stanchezza. In alto abbiamo la testa e poi quando vediamo la spalla destra sappiamo che il trend è finito perché il prezzo non è in grado di muoversi così in alto e quindi raggiunge massimi decrescenti. Ciò significa che gli acquirenti hanno perso interesse e i venditori sono intervenuti in anticipo. Quando la scollatura viene finalmente rotta, il modello viene confermato e il mercato si inverte.

Esaurimento III - Divergenza della quantità di moto

Infine, possiamo anche utilizzare la divergenza RSI per trovare coppie Forex stanche. Divergenza significa che le onde di tendenza diventano più brevi e meno forti, il che significa che il mercato è esaurito. Sebbene il movimento possa ancora sembrare un trend al ribasso (minimi inferiori), l'azione dei prezzi perde slancio quando confrontiamo le onde di tendenza e la dimensione e il numero di candele ribassiste.

Tipi di deviazione

I modelli di rifiuto, o modelli trappola, sono comuni alla fine di un trend e sono più volatili e impulsivi rispetto ai movimenti esauriti. Mentre l'esaurimento mostra una transizione graduale da una direzione di tendenza all'altra, la deviazione può verificarsi solo in una o poche candele.

Deviazione I: colpire resistenza/supporto

La figura seguente mostra una deviazione classica a livello di supporto/resistenza. Nel momento in cui la candela si è formata, probabilmente sembrava un breakout e una continuazione al ribasso, ma una volta completata la candela, tutti i venditori prematuri sono rimasti intrappolati e il prezzo ha iniziato a salire. Le barre di rifiuto generalmente tendono ad avere lunghi stoppini che perforano il minimo o il massimo precedente. Ma le candele engulfing possono verificarsi anche in modelli di rifiuto generali.

Deviazione II - Doppio fondo

Lo screenshot qui sotto mostra la deviazione in un doppio giorno. Il prezzo lo ha trafitto e poi immediatamente si è invertito e si è mosso verso l'alto. Molti trader utilizzano i punti di oscillazione precedenti come punto di riferimento nel loro trading di interruzione e deviazione, e quindi effettuano buone operazioni.

Un trader FOMO che ha mancato un trend al ribasso è ansioso di entrare in un trend al ribasso e crede che la rottura del supporto sia un buon segnale. Entra prematuramente e poi colpisce una Deviazione. Se questo ti accade, assicurati di leggere uno dei miei ultimi articoli in cui condivido principi di trading molto importanti che utilizzo in tutte le mie operazioni: .

Deviazione III - Picchi di volatilità delle Bande di Bollinger ®

Infine, il picco di volatilità delle Bande di Bollinger ® può anche essere un modello di rifiuto. Le bande di Bollinger misurano la forza di un trend e ci forniscono informazioni sul probabile movimento dei prezzi all'interno di un intervallo, e la rottura delle bande mostra un comportamento estremo dopo un lungo trend.

Nello screenshot qui sotto vediamo che dopo un lungo trend il prezzo guadagna ultimo tentativo si muove verso il basso, ma il denaro intelligente scarica i pantaloncini e poi spinge il prezzo verso l'alto.

Suggerimento: ho impostato le bande di Bollinger su deviazioni di 2,5 gradi per rilevare solo gli estremi assoluti ed evitare molti falsi segnali. Senza entrare nei dettagli, una deviazione di 2,5 gradi significa che il 99% di tutti i movimenti di prezzo avverrà tra le due bande. Pertanto, il picco è un segnale raro e importante.

I modelli di Attrito e Deviazione sono utili per tutti. I trader di trend possono utilizzare queste informazioni per seguire il trend o uscire da un'operazione quando è probabile un'inversione; E come trader inverso, li uso quando apro nuovi ordini e entro presto nel trend.

In questo articolo vedremo miglior HTML/Modelli di listino prezzi CSS facilmente integrabili in un sito web. Se hai già pensato di creare il tuo listino prezzi unico, i modelli seguenti ti aiuteranno in questo. Elencheremo anche tutorial per aiutarti a creare le tue tabelle CSS.

Modelli di prezzi HTML/CSS gratuiti Tabelle dei prezzi reattive semplici

Se la semplicità è la tua passione, allora questo set di tre modelli di listino prezzi potrebbe rivelarsi utile. Con il suo aiuto è possibile creare piani tariffari mensili e annuali ed è supportata l'animazione. Inoltre, il modello è adattivo.

VERSIONE DEMO | SCARICAMENTO

Progettazione di tabelle dei prezzi piatte

Un altro modello di tabella dei prezzi flat con tutte le funzionalità di base.

VERSIONE DEMO | SCARICAMENTO

Tabella dei prezzi minimi

Il modello di listino prezzi più compatto che ti consente di aggiungere dati sui servizi e sui relativi costi.

VERSIONE DEMO | SCARICAMENTO

Tabella dei prezzi flip reattivi

Simile ad uno dei modelli che abbiamo già elencato, copia quasi completa, differisce solo per i colori utilizzati. Ma è comunque una tabella dei prezzi CSS di bell'aspetto.

VERSIONE DEMO | SCARICAMENTO

Tabelle dei prezzi interessanti

Semplice e bellissimi tavoli prezzi per il tuo sito web con animazione aggiunta.

VERSIONE DEMO | SCARICAMENTO

Tabella dei prezzi interessante

Fantastico modello di listino prezzi con bellissimo cappello, un pulsante in basso e un'area descrittiva.

VERSIONE DEMO | SCARICAMENTO

Tabella dei prezzi piatti

Un modello piatto che implementa un listino prezzi a discesa con un effetto di animazione. Questo viene fatto utilizzando i fogli di stile a cascata CSS.

VERSIONE DEMO | SCARICAMENTO

Cartellini dei prezzi unici

Un bellissimo modello di listino prezzi che puoi utilizzare sul tuo sito web per visualizzare informazioni sul costo dei piani mensili e degli abbonamenti in corso.

VERSIONE DEMO | SCARICAMENTO

Dispositivo di scorrimento dell'anteprima del prodotto

Modello di listino prezzi compatto e semplice con un dispositivo di scorrimento delle immagini per visualizzare una galleria di prodotti.

VERSIONE DEMO | SCARICAMENTO

Modello di tabella dei prezzi

Questo è un modello gratuito. Puoi usarlo come preferisci, questo modello funziona perfettamente con il framework Bootstrap.

VERSIONE DEMO | SCARICAMENTO

La tabella dei prezzi CSS colorata viene visualizzata in uno stile moderno e minimalista utilizzando una combinazione di tre colori.

Tabella dei prezzi semplice

VERSIONE DEMO |SCARICA

Cartellini dei prezzi CSS

Semplici blocchi di prezzo rettangolari per qualsiasi sezione del tuo sito web.

VERSIONE DEMO |SCARICA

Modello di prezzo unico

Design piatto pulito con elementi ben posizionati e in grassetto, leggibile su qualsiasi dispositivo.

VERSIONE DEMO |SCARICA

Mini tabella dei prezzi

Una versione mini di una tabella dei prezzi CSS reattiva che può essere utilizzata per vendere estensioni o funzionalità aggiuntive.

VERSIONE DEMO |SCARICA

Vetrina da tavolo standard

Layout minimalista e piatto che supporta funzionalità reattive.

VERSIONE DEMO |SCARICA

Tavolo fantastico

Un modello di listino prezzi che assomiglia a WordPress. La larghezza predefinita è impostata sull'80%, il che rende l'intera tabella troppo larga, quindi lo screenshot è stato acquisito con una larghezza del 50%.

VERSIONE DEMO |SCARICA

Piani e tabella dei prezzi

Un semplice listino prezzi per illustrare i piani tariffari disponibili. Viene fornito con un layout "popolare" evidenziato utilizzando lo stile della tabella CSS.

VERSIONE DEMO |SCARICA

Stili CSS3 per la creazione di listini prezzi - guida

Questo tutorial ti mostrerà come utilizzare alcune delle nuove proprietà CSS3 per creare bellissimo modello listino prezzi La sua essenza è impostare stili di blocco ed elenco per le colonne e ottenere un design bello e unico.

VERSIONE DEMO |SCARICA

Modello HTML della tabella dei prezzi di pagamento

Modello semplice di listino prezzi. Ogni piano tariffario contiene il nome, il prezzo, l'elenco delle funzionalità e un pulsante di registrazione viola.

VERSIONE DEMO |SCARICA

Elemento UI della tabella dei prezzi CSS3 (tutorial)

Dopo aver completato questo tutorial, sarai in grado di creare fantastici elementi personalizzati per la tabella dei prezzi utilizzando le proprietà della tabella CSS3. I modelli sono già dotati di bellissimi effetti al passaggio del mouse creati utilizzando le transizioni CSS3. Puoi aggiungerli facilmente al tuo negozio online.

VERSIONE DEMO |SCARICA

Come creare un semplice grafico dei prezzi utilizzando SaaS (HTML/CSS)

SU al momento Sto lavorando su un sito WordPress premium e mi sono imbattuto nella necessità di creare una tabella dei prezzi decente in stile SaaS.

VERSIONE DEMO |SCARICA

Effetto arancione delle tabelle dei prezzi CSS3

In questo tutorial imparerai come creare il codice del cartellino del prezzo e gli stili CSS3 dall'interfaccia utente di Impressionist.

VERSIONE DEMO |SCARICA

Crea una tabella dei prezzi moderna utilizzando HTML e CSS

Questo tutorial ti mostra come creare una tabella dei prezzi moderna in Photoshop. Una volta che il progetto è pronto, lo codifichiamo utilizzando i fogli di stile a cascata HTML e CSS.

Traduzione: Vlad Merzhevich

Tutti conoscono i moduli web, giusto? Inseriamo un tag, qualche, magari, completiamo il tutto con un bottone e il gioco è fatto.

Non ne sai la metà. HTML5 definisce oltre una dozzina di nuovi tipi di campi che puoi utilizzare nei tuoi moduli. E quando dico "usa", intendo che possono essere usati subito, senza espedienti, trucchi o soluzioni alternative. Non preoccuparti troppo, non sto dicendo che tutte queste nuove entusiasmanti funzionalità siano effettivamente supportate in ogni browser. Assolutamente no, non intendo da tutti. IN browser moderni, sì, i tuoi moduli mostreranno tutto ciò di cui sono capaci. Ma nei browser più vecchi, i moduli continueranno a funzionare, anche se non al massimo delle loro potenzialità. Cioè, queste funzionalità si degradano con grazia in ogni browser. Anche in IE6.

Testo suggerito Supporto di testo rapido
CIOÈ. Firefox Safari Cromo Opera iPhone Androide
- 4.0+ 4.0+ 4.0+ 11.0+ 4.0+ -

Il primo miglioramento di HTML5 relativo ai moduli è la possibilità di impostare il testo del prompt nel campo di input. Questo testo viene visualizzato nel campo di input se il campo è vuoto e non è attivo. Non appena si fa clic nel campo di input (o ci si accede tramite Tab), il testo del suggerimento scompare.

Probabilmente hai già visto il testo del messaggio. Per esempio, MozillaFirefox include testo suggestivo nella barra degli indirizzi che dice "Cerca segnalibri e diario".

Quando fai clic sulla barra degli indirizzi, il testo del suggerimento scompare.

Ecco come puoi includere testo suggestivo nei tuoi moduli.




I browser che non supportano l'attributo segnaposto semplicemente lo ignorano. Nessun danno o violazione.

Chiedi al professor Markup

☞ D. Posso usare Markup HTML per l'attributo segnaposto? Voglio inserire una foto o magari cambiare i colori.

R. L'attributo segnaposto può contenere solo testo, nessun codice HTML. Tuttavia, esistono estensioni CSS speciali che consentono di impostare lo stile del testo in alcuni browser.

Campi di messa a fuoco automatica Supporto per la messa a fuoco automatica
CIOÈ. Firefox Safari Cromo Opera iPhone Androide
- - 4.0+ 3.0+ 10.0+ - -

I siti Web possono utilizzare JavaScript per concentrarsi automaticamente sul primo campo del modulo. Ad esempio, nella pagina principale Google.com La messa a fuoco automatica è disponibile nel campo di ricerca parole chiave. Anche se questo è conveniente per la maggior parte delle persone, può essere fastidioso per gli utenti avanzati e le persone con bisogni speciali. Se premi la barra spaziatrice mentre aspetti che la pagina scorra, non ci sarà alcuno scorrimento perché il focus è sul campo di input del modulo (scriverà spazio nel campo invece di scorrere). Se sposti lo stato attivo su un altro campo di input durante il caricamento della pagina, lo script di messa a fuoco automatica del sito potrebbe "utilmente" riportare lo stato attivo al campo di input originale, interrompendo la digitazione e facendoti digitare nel posto sbagliato.

Poiché la messa a fuoco automatica funziona tramite JavaScript, possono esserci difficoltà nel gestire questi casi estremi e poche opzioni per coloro che non vogliono che una pagina Web "rubi" la loro attenzione.

Per risolvere questi problemi, HTML5 introduce l'attributo autofocus per tutti gli elementi del modulo. L'attributo autofocus fa esattamente quello che sembra: non appena la pagina viene caricata, sposta lo stato attivo sul campo specificato. Ma poiché si tratta solo di markup e non di uno script, il comportamento sarà coerente su tutti i siti. Inoltre, i produttori di browser (o gli autori di estensioni) possono offrire agli utenti un modo per disabilitare la messa a fuoco automatica.

Ecco come impostare la messa a fuoco automatica di un campo modulo.




I browser che non supportano l'attributo autofocus lo ignoreranno.

Che è successo? Supponiamo che tu voglia che la messa a fuoco automatica funzioni ovunque, non solo nei fantasiosi browser HTML5? Puoi mantenere lo script di messa a fuoco automatica corrente, basta apportare due piccole modifiche:

  • aggiungi l'attributo autofocus al codice HTML;
  • Controlla se il browser supporta l'attributo autofocus e, in caso contrario, esegui il tuo script.

Messa a fuoco automatica con alternativa




if (!("autofocus" in document.createElement("input")) ) (
document.getElementById("q").focus();
}


Imposta la messa a fuoco in anticipo

Molte pagine Web attendono l'attivazione di window.onload e l'impostazione del focus. Ma l'evento window.onload non si attiverà finché tutte le immagini non saranno state caricate. Se la tua pagina ha molte immagini, questi script ingenui potrebbero potenzialmente cambiare focus dopo che l'utente avrà iniziato a interagire con un'altra parte della tua pagina. Questo è il motivo per cui gli utenti esperti odiano gli script di messa a fuoco automatica.

Ad esempio, nella sezione precedente, lo script di messa a fuoco automatica è stato inserito immediatamente dopo il campo del modulo a cui faceva riferimento. Questo soluzione ottimale, ma potrebbe offendere la tua sensibilità inserire un blocco di codice JavaScript al centro della pagina (o, più banalmente, il tuo sistema potrebbe non essere così flessibile). Se non puoi inserire uno script al centro della pagina, dovresti impostare il focus tramite un evento personalizzato come $(document).ready() in jQuery invece di window.onload .

Messa a fuoco automatica tramite jQuery




$(documento).ready(funzione() (

$("#q").focus();
}
});






L'evento personalizzato jQuery si attiva non appena il DOM è accessibile, ovvero attende il caricamento del testo della pagina, ma non attende il caricamento di tutte le immagini. Questo non è un approccio ottimale: se la pagina è insolitamente grande o la connessione di rete è lenta, l'utente potrebbe ancora interagire con la pagina prima che venga eseguito lo script focus. Ma è comunque molto meglio che aspettare che si verifichi l'evento window.onload.

Se sei d'accordo e sei disposto a inserire uno script a istruzione singola nel codice della tua pagina, questo è un compromesso meno dannoso della prima opzione e migliore della seconda. Puoi utilizzare eventi personalizzati jQuery per impostare i tuoi eventi, ad esempio autofocus_ready. È quindi possibile attivare manualmente questo evento non appena il campo di messa a fuoco automatica diventa disponibile. Grazie a E.M. Shtenberg per avermi insegnato questa tecnica.

Messa a fuoco automatica con evento personalizzato alternativo




$(document).bind("autofocus_ready", funzione() (
if (!("autofocus" in document.createElement("input"))) (
$("#q").focus();
}
});





$(document).trigger("autofocus_ready");

Questa soluzione è ottimale, proprio come il primo approccio. Il focus verrà impostato sul campo del modulo non appena tecnicamente possibile mentre il testo della pagina è ancora in fase di caricamento. Parte della logica applicativa (focus nel campo form) è stata spostata dal corpo della pagina alla sezione. Questo esempio è basato su jQuery, ma il concetto di eventi personalizzati non è esclusivo di jQuery. Altre librerie JavaScript come YUI e Dojo offrono funzionalità simili.

Riassumiamo.

  • È importante impostare correttamente la messa a fuoco.
  • Se possibile, chiedi al browser di utilizzare l'attributo autofocus sul campo in cui desideri mettere a fuoco.
  • Se utilizzi codice alternativo per browser meno recenti, definisci il supporto per l'attributo autofocus in modo che lo script venga eseguito solo nei browser meno recenti.
  • Imposta la concentrazione il prima possibile. Inserisci lo script focus nel codice immediatamente dopo il campo del modulo. Se questo non ti disturba, incorpora una libreria JavaScript che supporti eventi personalizzati e genera l'evento nel codice immediatamente dopo il campo del modulo. Se ciò non è possibile, utilizza un evento come $(document).ready() da jQuery.
  • In nessun caso dovresti aspettare che window.onload venga messo a fuoco.
Indirizzi e-mail

Da oltre un decennio ormai i moduli contengono solo pochi tipi di campi. I più comuni sono i seguenti.

Tutti questi tipi di campo funzionano ancora in HTML5. Se "aggiorni a HTML5" (magari modificando !DOCTYPE ), non dovrai apportare una sola modifica ai tuoi moduli. Evviva la compatibilità con le versioni precedenti!

Tuttavia, HTML5 definisce 13 nuovi tipi di campo e non c'è motivo di non iniziare a utilizzarli.

Il primo di questi nuovi tipi di indirizzi email. Sembra qualcosa del genere.





Stavo per scrivere una frase che iniziava "sui browser che non supportano type="email" ..." ma si è fermata. Perché? Perché non sono sicuro che i browser non supportino type="email" . Tutti i browser "supportano" type="email" . Potrebbero non fare nulla di speciale, ma i browser che non riconoscono type="email" lo tratteranno come type="text" e lo visualizzeranno come un normale campo di testo.

Sottolineerò quanto questo sia importante. Esistono milioni di moduli su Internet che ti chiedono di inserire il tuo indirizzo email e tutti utilizzano l'estensione . Vedi una casella di testo, inserisci il tuo indirizzo email e il gioco è fatto. E poi arriva HTML5, che definisce type="email" . I browser stanno impazzendo? NO. Ogni browser sulla Terra tratta l'attributo di tipo sconosciuto come type="text" - anche IE6. Quindi puoi "aggiornare" i tuoi moduli utilizzando type="email" adesso.

Cosa succede se diciamo che il browser supporta type="email"? Beh, potrebbe significare qualsiasi cosa. La specifica HTML5 non richiede alcuna interfaccia utente specifica per i nuovi tipi di campo. Opera aggiunge una piccola icona al campo del modulo. Altri browser HTML5 come Safari e Chrome vengono visualizzati come un campo di testo, lo stesso di type="text", in modo che i tuoi utenti non notino la differenza (finché non guardano il codice sorgente).

E poi c'è l'iPhone.

iPhone non ha una tastiera fisica. Tutta la "digitazione" avviene facendo clic sulla tastiera su schermo che appare al momento opportuno, ad esempio quando si accede a un campo modulo su una pagina Web. Apple ha fatto qualcosa di intelligente con il browser dell'iPhone. Riconosce alcuni nuovi campi HTML5 e cambia dinamicamente tastiera su schermo per ottimizzare l'input.

Ad esempio, un indirizzo e-mail è un testo, giusto? Naturalmente, ma questo è un tipo di testo speciale. Pertanto, quasi tutti gli indirizzi e-mail contengono il simbolo @ e almeno un punto (.), ma è improbabile che contengano uno spazio. Pertanto, quando utilizzi un iPhone e vai su , otterrai una tastiera su schermo che contiene una barra spaziatrice più piccola e tasti dedicati per i simboli. E @.

Lasciatemi riassumere. Non c'è alcun aspetto negativo nel tradurre immediatamente tutti i tuoi campi indirizzi e-mail in tipo="e-mail" . Quasi nessuno se ne accorgerà, tranne Utenti iPhone, che probabilmente non se ne accorgerà nemmeno. Ma chi se ne accorgerà sorriderà tranquillamente e ti ringrazierà per aver reso il loro lavoro un po' più semplice.

Indirizzi web

Un indirizzo web, che i geek standard chiamano URL, ad eccezione di alcuni pedanti che chiamano URI, è un altro tipo di testo specializzato. La sintassi di un indirizzo web è limitata al relativo standard Internet. Se qualcuno ti chiede di inserire un indirizzo web in un modulo, si aspetta qualcosa come "http://www.google.com/", non "125 Farwood Road". Le linee oblique sono comuni, anche nella maggior parte dei casi Pagine di Google ce ne sono tre. Anche i punti sono comuni, ma gli spazi sono vietati. E ogni indirizzo web ha un suffisso di dominio come ".com" o ".org".

E quindi... (rullo di tamburi per favore)... . Su iPhone appare così.

L'iPhone ha ridisegnato la sua tastiera virtuale proprio come ha fatto per la posta elettronica, ma ora la ottimizza per digitare un indirizzo web. La barra spaziatrice è stata completamente sostituita da tre tasti virtuali: barra, punto e ".com" (puoi tenere premuto il tasto ".com" per selezionare un suffisso diverso come ".org" o ".net").

I browser che non supportano HTML5 tratteranno type="url" come type="text" , quindi non ci sono svantaggi nell'utilizzare questo tipo per tutti i campi in cui è necessario inserire un indirizzo web.

I numeri come contatori

Prossimo passo: i numeri. Richiedere un numero è più complesso che richiedere un'e-mail o un indirizzo web. Innanzitutto i numeri sono più complessi di quanto si pensi. Seleziona rapidamente un numero. -1? No, intendevo un numero compreso tra 1 e 10,7 ½? No, no, non essere insignificante, stupido. π? Ora hai appena scelto un numero irrazionale.

Vorrei sottolineare che non ti viene spesso chiesto "solo un numero". È più probabile che chiedano un numero compreso in un determinato intervallo. Potresti volere solo determinati tipi di numeri all'interno di quell'intervallo, forse numeri interi, ma non frazioni o numeri decimali o qualcosa di più esotico, come i multipli di 10. HTML5 copre tutto.

Scegli un numero, quasi uno qualsiasi

Consideriamo un attributo alla volta.

  • type="number" significa che questo è un campo numerico.
  • min="0" specifica il valore minimo consentito per questo campo.
  • max="10" è il valore massimo consentito.
  • step="2" in combinazione con il valore minimo definisce i numeri validi nell'intervallo: 0, 2, 4 e così via, fino al valore massimo.
  • valore="6" valore predefinito. Dovrebbe sembrare familiare, questo è lo stesso attributo sempre utilizzato per definire i valori dei campi del modulo. Ne parlo qui come punto di partenza, su cui si basa HTML5 versioni precedenti HTML. Non devi imparare di nuovo a fare ciò che hai già fatto.

Questo è il codice per un campo numerico. Tieni presente che tutti questi attributi sono facoltativi. Se hai un minimo ma non un massimo, puoi specificare l'attributo min ma non l'attributo max. Il valore di passaggio predefinito è 1 ed è possibile omettere l'attributo step finché non è necessario un valore di passaggio diverso. Se non esiste un valore predefinito, l'attributo value può essere una stringa vuota o addirittura omesso del tutto.

Ma HTML5 non si ferma qui. Per lo stesso basso prezzo basso la libertà che ottieni con questi comodi metodi JavaScript.

  • input.stepUp(n) incrementa il valore del campo di n.
  • input.stepDown(n) diminuisce il valore del campo di n.
  • input.valueAsNumber restituisce il valore corrente come numero in virgola mobile (la proprietà input.value è sempre una stringa).

Problemi di visualizzazione? Bene, l'interfaccia corretta per la gestione dei numeri è implementata in modo diverso nei browser. Su iPhone, dove la digitazione è difficile, il browser ottimizza nuovamente la tastiera virtuale per l'immissione dei numeri.

Nella versione desktop di Opera, il campo type="number" appare come un contatore con piccole frecce su e giù su cui puoi fare clic per modificare i valori.

Opera rispetta gli attributi min , max e step, quindi otterrai sempre un valore numerico accettabile. Se aumenti il ​​valore al massimo, la freccia su nel contatore diventa grigia.

Come per tutti gli altri campi di input di cui ho parlato in questo capitolo, i browser che non supportano type="number" lo tratteranno come type="text" . Il valore predefinito verrà visualizzato nel campo (così come è memorizzato nell'attributo value), ma altri attributi come min e max verranno ignorati. Sei libero di implementarli tu stesso o di utilizzare un framework JavaScript che implementa già la gestione dei contatori. Prima controlla qui.

if (! .inputtypes.numero) (
// nessun supporto nativo per il campo tipo=numero
// potrebbe provare Dojo o un altro framework JavaScript
}

Numeri come cursore

Un contatore non è l'unico modo per rappresentare l'input numerico. Probabilmente hai anche visto uno slider simile a questo.

Ora puoi anche avere uno slider sul modulo. Il codice sembra stranamente simile a un campo contatore.


Tutti gli attributi disponibili sono gli stessi di type="number" - min , max , step , value - e significano la stessa cosa. L'unica differenza è interfaccia utente. Invece di un campo di input, i browser dovrebbero visualizzare type="range" come dispositivo di scorrimento. Al momento in cui scrivo, le ultime versioni di Safari, Chrome e Opera funzionano con questo. Sfortunatamente, l'iPhone viene visualizzato come un semplice campo di testo; non ottimizza nemmeno la tastiera su schermo per l'immissione di numeri; Tutti gli altri browser trattano semplicemente il campo come type="text" , quindi non c'è motivo di iniziare a utilizzare immediatamente questo tipo.

HTML 4 non include la selezione della data tramite calendario. I framework JavaScript ti consentono di aggirare questo problema (Dojo, jQuery UI, YUI, Closure Library), ma, ovviamente, ciascuna di queste soluzioni richiede "implementare" il framework per qualsiasi calendario integrato.

HTML5 definisce finalmente un modo per abilitare i selettori di date nativi senza alcun script. In realtà ce ne sono sei: data, mese, settimana, ora, data + ora e data + ora con fuso orario.

Finora, il supporto è... scarso.

Supporto per la selezione della data Digita Opera Altri browser
tipo="data" 9.0+ -
tipo="mese" 9.0+ -
tipo="settimana" 9.0+ -
tipo="ora" 9.0+ -
tipo="dataora" 9.0+ -
type="datetime-local" 9.0+ -

Ecco come viene visualizzato Opera:

Se hai bisogno di tempo insieme alla data, Opera supporta anche:

Se hai bisogno di un mese più un anno (ad esempio, data di scadenza carta di credito), Opera può visualizzare:

Meno comune, ma disponibile, è selezionare la settimana dell'anno tramite:

Ultimo ma non meno importante è il timing con:

Selettore data con alternativa




...

var i = document.createElement("input");
i.setAttribute("tipo", "data");
if (i.type == "testo") (
// Nessun supporto integrato per la selezione della data :(
// Usa Dojo/jQueryUI/YUI/Closure per crearlo,
// quindi sostituisce dinamicamente l'elemento
}

È probabile che altri browser supportino eventualmente questi tipi. Come type="email" e altri tipi, questi campi del modulo appariranno come testo semplice in quei browser che non riconoscono type="date" e le sue varianti. Se vuoi, puoi semplicemente usare quello che fai Utenti dell'Opera felice e attendi che altri browser si mettano al passo. È più realistico usarlo, ma controlla se il browser ha il supporto nativo per il selettore di date e includi una soluzione alternativa sotto forma di uno script di tua scelta (Dojo, jQuery UI, YUI, Closure Library o altre opzioni).

Finestra di ricerca

Quindi, cerca. Non solo ricerche da Google o Yahoo (beh, anche quelle). Pensa a qualsiasi casella di ricerca, su qualsiasi pagina, su qualsiasi sito web. Amazon ha una casella di ricerca, Yandex ha una casella di ricerca, anche la maggior parte dei blog. Come sono fatti?

, proprio come qualsiasi altro campo di testo sul Web. Risolviamo questo problema.




Cerca una nuova generazione

In alcuni browser non noterai alcuna differenza rispetto a un normale campo di testo. Ma se utilizzi Safari su Mac OS X, apparirà così. Hai trovato la differenza? Il campo di input ha angoli arrotondati ! Lo so, lo so, difficilmente riesci a contenere i tuoi sentimenti. Ma aspetta, c'è di più! Quando inizi a digitare type="search" nel campo, Safari inserirà un piccolo pulsante "x" sul lato destro della finestra. Cliccando sulla "x" si cancella il contenuto del campo. Google Cromo , che ha la stessa tecnologia sotto il cofano, si comporta allo stesso modo. Entrambi questi piccoli trucchi sembrano e si comportano in modo simile alla ricerca nativa in iTunes e altri client applicazioni Mac

OS X

Apple.com utilizza la ricerca sul sito per aiutare il sito a trasmettere un'atmosfera da "amante degli ara". Ma non c'è nulla di specifico per i Mac qui. È solo codice, quindi ogni browser su ogni piattaforma può scegliere come eseguire il rendering in base alle convenzioni della piattaforma. Come con tutti gli altri nuovi tipi, i browser che non riconoscono type="search" lo tratteranno come type="text" , quindi non c'è assolutamente alcun motivo per non iniziare a utilizzare type="search" per tutte le caselle di ricerca oggi stesso.

Per impostazione predefinita, Safari non applica la maggior parte degli stili. Se vuoi forzare Safari a trattare il campo di ricerca come un normale campo di testo (da applicare propri stili), aggiungi questa regola al tuo foglio di stile.

ingresso(
-aspetto-webkit:campotesto;
}

Grazie a John Lane per avermi insegnato questo trucco.

Selezione del colore

HTML5 definisce anche un campo che permette di selezionare un colore e lo restituisce in formato esadecimale. Nessun browser supporta i selettori di colori, il che è un peccato perché ho sempre amato le tavolozze di Mac OS. Forse un giorno.

Nota traduttore Opera 11 supporta questa funzionalità.

Convalida del modulo

In questo capitolo ho parlato dei nuovi elementi dei moduli e delle nuove funzionalità come l'autofocus, ma non ho menzionato forse la parte più interessante dei moduli HTML5: controllo automatico dati di ingresso. Consideriamo problemi comuni inserendo il tuo indirizzo email nel modulo. Probabilmente hai una convalida lato client tramite JavaScript, seguita da una convalida lato server tramite PHP, Python o un altro linguaggio lato server. HTML5 non sostituirà mai la convalida lato server, ma un giorno potrebbe sostituire la convalida lato client.

Esistono due grossi problemi con la convalida dell'indirizzo email in JavaScript:

  • Un piccolo numero dei tuoi visitatori (probabilmente circa il 10%) non ha JavaScript abilitato.
  • Riceverai l'indirizzo in modo errato.
  • Seriamente, sbaglierai l'indirizzo. Determinare che un insieme di caratteri casuali sia un indirizzo email valido è incredibilmente difficile. Più guardi attentamente, più diventa difficile. Ho già detto che è molto, molto difficile? Non è più semplice scaricare questo grattacapo sul tuo browser?

    Opera controlla type="email"

    Ecco uno screenshot di Opera 11, sebbene la funzionalità sia presente da Opera 9. Il codice prevede l'impostazione del valore email per l'attributo type. Quando un utente Opera tenta di inviare un modulo con , il browser controlla automaticamente l'indirizzo email, anche se gli script sono disabilitati.

    HTML5 offre anche la convalida sul campo di indirizzi web e numeri con estensione . La convalida del numero tiene conto dei valori degli attributi min e max, quindi i browser non ti consentiranno di inviare il modulo se inserisci un numero troppo grande.

    Non esiste un codice che consenta la convalida del modulo in HTML5, viene eseguita per impostazione predefinita. Per disabilitare la convalida, utilizzare l'attributo novalidate.

    Non mettermi alla prova




    I browser sono stati lenti nell'includere il supporto per la convalida dei moduli in HTML5. Firefox 4 avrà il pieno supporto. Sfortunatamente, Safari e Chrome sono implementati solo parzialmente: convalidano gli elementi del modulo, ma non visualizzano alcun messaggio visibile quando un campo del modulo non supera la convalida. In altre parole, se inserisci una data errata (o scritta in modo errato) in type="date" , Safari e Chrome non invieranno il modulo, ma non ti diranno il motivo per cui non lo hanno fatto. Metteranno a fuoco il campo che contiene un valore non valido, ma non visualizzeranno un messaggio di errore come Opera o Firefox 4.

    Campi obbligatori Supporto
    CIOÈ. Firefox Safari Cromo Opera iPhone Androide
    - 4.0+ - - 9.0+ - -

    La convalida del modulo in HTML5 non è limitata al tipo di ciascun campo. Puoi anche specificare che alcuni campi sono obbligatori, tali campi devono avere un valore prima di poter inviare il modulo.

    Il codice per i campi obbligatori è il più semplice possibile.




    I browser possono modificare l'aspetto originale di un campo obbligatorio. Ecco un esempio di come appare in Mozilla Firefox 4.0.

    Inoltre, se si tenta di inviare un modulo senza compilare un valore richiesto, Firefox visualizzerà una barra informazioni che informa che il campo è obbligatorio e non può essere vuoto.

    Penso che l'elenco a discesa non lo sia modo migliore selezionando le varianti nella pagina del negozio WooCommerce. Come minimo, l'utente deve eseguire un'azione aggiuntiva per visualizzare i valori degli attributi disponibili, inoltre non tutti saranno in grado di capire immediatamente dove fare clic, ecc. Pertanto, la soluzione con caselle di controllo (pulsanti radio) sembra molto più user-friendly.

    Su Internet troverete diversi hack per questo compito. Tuttavia, ciò che mi piace di più è l'implementazione tramite un modulo: viene implementata nel modo più semplice e rapido possibile. Il plugin più affidabile disponibile è WC Variations Radio Buttons.

    Al momento in cui scrivo ultima versione il modulo ha avuto poco più di 3mila download e buon voto. In alcuni modelli, la soluzione potrebbe funzionare immediatamente dopo l'installazione e l'attivazione. Se gli sviluppatori hanno apportato le proprie modifiche al file Negozio WooCommerce prodotto singolo/aggiungi al carrello/variabile.php, allora avrai bisogno di:

  • Crea un tema figlio (se non ce n'è).
  • Copia il file dalla directory del modulo plugins/wc-variazioni-pulsanti-radio/template/singolo-prodotto/add-to-cart/variabile.php al tuo modello qui - temi/THEME_NAME/woocommerce/single-product/add-to-cart/variable.php. Se esiste già un file di questo tipo, sostituiscilo.
  • Di norma, tutto viene implementato tramite temi secondari, quindi non dovrebbero esserci difficoltà con il primo punto. In futuro cercherò di considerare questo punto più in dettaglio.

    Se hai domande sull'argomento del post, su come visualizzare le varianti del prodotto inWohCommerce, scrivi qui sotto.