techtalk css4 - fellyph cintra

28
CSS4 Fellyph Cintra TechTalk elo7

Upload: fellyph-cintra

Post on 13-Apr-2017

1.407 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Techtalk CSS4 - Fellyph Cintra

CSS4Fellyph Cintra TechTalk elo7

Page 2: Techtalk CSS4 - Fellyph Cintra

CSS 4

➤ O CSS3 já está ai com força total, mas poucos sabem que o CSS4 já está em rascunho e muitas das novidades desta versão são os novos seletores.

Page 3: Techtalk CSS4 - Fellyph Cintra

RANGE

➤ Hoje com os novos seletores é possível tratar elementos que estão limitados por um range, com as pseudo-classes in-range e out-of-range.

Page 4: Techtalk CSS4 - Fellyph Cintra

RANGE

<form>

<input type='number' id='quantidade' min='1' max='5' />

</form>

input[type="number"]:in-range {

border-color: green;

}

input[type="number"]:out-of-range {

border-color: red;

}

Page 5: Techtalk CSS4 - Fellyph Cintra

OPTIONALITY

➤ As pseudo-classes de opcionalidade server para tratar elementos inputs ou formulários que são obrigatórios ou não.

Page 6: Techtalk CSS4 - Fellyph Cintra

OPTIONALITY

<form>

<input type='email' placeholder='Seu email' required/>

<input type='text' placeholder='Seu nome' optional/>

</form>

input:optional {

border-style: dotted;

}

input:required {

border-color: red;

}

Page 7: Techtalk CSS4 - Fellyph Cintra

MUTABILITY

➤ As pseudo-classes de mutabilidade representam os elementos que permitem ou não alteração pelo usuário.

Page 8: Techtalk CSS4 - Fellyph Cintra

MUTABILITY

<p contenteditable='false'>Apenas de leitura</p>

<p contenteditable='true'>Conteúdo editável</p>

<form>

<input type='text' value='Olar amigo' readonly>

<input type='text' value='Olar amigo 2'>

</form>

input:read-only, p:read-only {

background: red;

}

:read-write {

background: green;

}

Page 9: Techtalk CSS4 - Fellyph Cintra

MATCHES

➤ O pseudo-class :matches(-webkit-any, -moz-any) ajudam a realizar seletores de agrupamento mais simples.

http://jsfiddle.net/fellyph/b6e5xx3m/4/

Page 10: Techtalk CSS4 - Fellyph Cintra

MATCHES

<ul>

<li>Mensagem 1</li>

<li class='fechado'>Mensagem 2</li>

<li class='nao-lida'>Mensagem 3</li>

<li class='cancelado'>Mensagem 4</li>

</ul>

li:-webkit-any(.fechado, .cancelado, .nao-lida) {

color: red;

}

li:-moz-any(.fechado, .cancelado, .nao-lida) {

color: red;

}

Page 11: Techtalk CSS4 - Fellyph Cintra

MATCHES

p:-webkit-any(.fechado, .cancelado, .nao-lido) {

color: red;

}

/* equivalente:

p.fechado, p.nao-lida, p.cancelado {

color: red;

}

*/

Page 12: Techtalk CSS4 - Fellyph Cintra

NÍVEIS DE MATCHES

Page 13: Techtalk CSS4 - Fellyph Cintra

NÍVEIS DE MATCHES

Page 14: Techtalk CSS4 - Fellyph Cintra

NOT

➤ Presente no CSS3, agora ele possui suporte para receber mais de um argumento no CSS4. Este seletor aplica a regra aos elementos que não se aplica ao seletor, sendo assim o oposto o macthes.

Page 15: Techtalk CSS4 - Fellyph Cintra

NOT

<ul>

<li>Mensagem 1</li>

<li class='fechado'>Mensagem 2</li>

<li class='nao-lida'>Mensagem 3</li>

<li class='cancelado'>Mensagem 4</li>

</ul>

li:not(.fechado, .cancelado) {

color: red;

}

Sem suporte para seletor composto

Page 16: Techtalk CSS4 - Fellyph Cintra

FUTUROLOGIA

Page 17: Techtalk CSS4 - Fellyph Cintra

:BLANK

➤ Seleciona elementos sem conteúdo diferente do :empty não considera espaço em branco conteúdo válido.

Page 18: Techtalk CSS4 - Fellyph Cintra

:BLANK

<p>Olar</p>

<p></p>

<p> </p>

p {

width: 50px;

height: 50px;

background: yellow;

}

p:empty {

background: lime;

}

p:blank {

background: red;

}

Page 19: Techtalk CSS4 - Fellyph Cintra

:ANY-LINK

➤ Seleciona qualquer tipo de link em qualquer estado

Page 20: Techtalk CSS4 - Fellyph Cintra

:ANY-LINK

:link, :visited {

color: #555;

}

:any-link {

color: #555;

}

Sem suporte

Page 21: Techtalk CSS4 - Fellyph Cintra

:HAS

➤ Verifica se existe o elemento passado como parâmetro. Possui um comportamento similar ao jQuery .has()

Page 22: Techtalk CSS4 - Fellyph Cintra

:HAS

<ul>

<li>Item</li>

<li>Item

<ul>

<li>Sub item</li>

</ul>

</li>

</ul>

li:has(> ul) {

color: red;

}

Page 23: Techtalk CSS4 - Fellyph Cintra

CASE INSENSITIVE

➤ Permite selecionar atributos, com qualquer tipo de combinação entre letras maiúsculas e minúsculas.

Page 24: Techtalk CSS4 - Fellyph Cintra

CASE INSENSITIVE

<ul>

<li><a href="test.pdf">Test </a></li>

<li><a href="test.PDF">Test </a></li>

<li><a href="test.pDF">Test </a></li>

</ul>

a[href$="pdf" i] {

color: red;

}

Sem suporte

Page 25: Techtalk CSS4 - Fellyph Cintra

DIRECTION

➤ Pseudo-classes que selecionam os itens de acordo a direção de texto

<div dir="ltr"> Some text Default writing direction. </div>

<div dir="rtl"> بـعض الــنصوص مـن الــيمني إلـى الــيسار االتــجاه </div>

:dir(ltr) {

color: red;

}

:dir(rtl) {

color: blue;

}

Page 26: Techtalk CSS4 - Fellyph Cintra

DÚVIDAS

Page 27: Techtalk CSS4 - Fellyph Cintra

OBRIGADO

Page 28: Techtalk CSS4 - Fellyph Cintra

REFERÊNCIAS

➤ http://css4.rocks/selectors-level-4/

➤ http://css4selectors.parseapp.com/

➤ http://www.sitepoint.com/future-generation-css-selectors-

level-4/

➤ https://davidwalsh.name/css4-preview

➤ http://www.w3.org/TR/selectors4