• No se han encontrado resultados

COMPASS. Al rescate de CSS. 12 diciembre 2013

N/A
N/A
Protected

Academic year: 2022

Share "COMPASS. Al rescate de CSS. 12 diciembre 2013"

Copied!
36
0
0

Texto completo

(1)

Al rescate de CSS

COMPASS

12 diciembre 2013

(2)

ME PRESENTO

Vicente Pons

@gponsu[email protected]

Ingeniero informático, formador y maquetador HTML5 y CSS3

(3)

RESUMEN

Problemas al maquetar con CSS

---

---

✘ …

La solución, COMPASS

(4)

¿Qué es CSS?

(5)
(6)

PROBLEMÁTICA DE CSS

Difícil de mantener

Complicado de reutilizar No es escalable

Repetitivo

(7)

Malas Prácticas

(8)
(9)

Selectores excesivamente anidados

#main .blog > div article .content-body p { }

#sidebar .widget ul li a:hover { }

MALAS PRÁCTICAS

(10)

Selectores excesivamente anidados

#main .blog > div article .content-body p { }

#sidebar .widget ul li a:hover { }

MALAS PRÁCTICAS

No es escalable

(11)

Reglas demasiado particulares

.button {

background-color: yellow;

color: red;

border-color: purple;

position: relative;

top: 60px;

left: 40px;

}

MALAS PRÁCTICAS

(12)

Reglas demasiado particulares

.button {

background-color: yellow;

color: red;

border-color: purple;

position: relative;

top: 60px;

left: 40px;

}

MALAS PRÁCTICAS

No es reutilizable

(13)

Abuso en el uso de important

.logo_footer1 {

text-align: center !important;

list-style: none !important;

margin-top: 15px !important;

border-bottom: none !important;

}

MALAS PRÁCTICAS

(14)

Abuso en el uso de important

.logo_footer1 {

text-align: center !important;

list-style: none !important;

margin-top: 15px !important;

border-bottom: none !important;

}

MALAS PRÁCTICAS

(15)

SOLUCIONES Y MEJORAS

Refactorizar

Refinamos el código

Separar la estructura del estilo visual

Extender CSS con nuevas capacidades

Lenguajes SASS, LESS, Stylus ...

(16)

SASS

(17)

SASS

Variables y operadores Anidamiento

Herencia de selectores Mixins e imports

(18)

SASS

Variables y operadores

$gutter : 20px;

$primary-color: #333;

body {

color: $primary-color;

margin: $gutter + 5px;

}

(19)

SASS

Variables y operadores

$gutter : 20px;

$primary-color: #333;

body {

color: $primary-color;

margin: $gutter + 5px;

}

body {

color: #333;

margin: 25px;

}

(20)

SASS

Anidamiento

li {

margin: 5px;

a {

color: red;

&:hover { color: blue; } }

}

(21)

SASS

Anidamiento

li {

margin: 5px;

a {

color: red;

&:hover { color: blue; } }

} li {

margin: 5px;

a {

color: red;

&:hover { color: blue; } }

}

li {

margin: 5px; }

li a {

color: red; } li a:hover { color: blue; }

(22)

SASS

Herencia de selectores

.button {

border: 1px solid gray;

height: 25px;

}

.btn-success { @extend button;

background: green;

}

(23)

SASS

Herencia de selectores

.button {

border: 1px solid gray;

height: 25px;

}

.btn-success { @extend button;

background: green;

}

.button,

.btn-success {

border: 1px solid gray;

height: 25px;

}

.btn-success {

background: green;

}

(24)

SASS

Mixins e imports

//Utils file

@mixin border-radius($radius) { ...

}

//CSS Principal

@import utils;

.caja {

@include border-radius(10px);

}

(25)

SASS

Mixins e imports

//Utils file

@mixin border-radius($radius) { ...

}

//CSS Principal

@import utils;

.caja {

@include border-radius(10px);

}

.caja {

-webkit-border-radius: 10px;

-moz-border-radius: 10px;

-ms-border-radius: 10px;

-o-border-radius: 10px;

border-radius: 10px;

}

(26)

COMPASS

SASS

(27)

Instalación:

$ gem install compass

COMPASS

Crea tu primer proyecto:

$ compass create <NombreProyecto>

(28)

COMPASS

Ofrece gran cantidad de mixins

@mixin global-reset();

@mixin horizontal-list();

@mixin replace-text($img);

@mixin border-radius($radius);

@mixin transition();

...

(29)

COMPASS

Generar sprites de imágenes

(30)

COMPASS,

SPRITES DE IMÁGENES

Uso básico

img/iconos/new.png img/iconos/edit.png img/iconos/save.png img/iconos/delete.png

@import "iconos/*.png";

@include all-iconos-sprites;

// Carpeta con imagenes

(31)

COMPASS,

SPRITES DE IMÁGENES

Uso básico

img/iconos/new.png img/iconos/edit.png img/iconos/save.png img/iconos/delete.png

@import "iconos/*.png";

@include all-iconos-sprites;

// Carpeta con imagenes

.iconos-sprite, .iconos-delete, .iconos-edit, .iconos-new, .iconos-save {

background: url('/img/s34fe0604ab.png') no-repeat;

}

.iconos-delete { background-position: 0 0; } .iconos-edit { background-position: 0 -32px; } .iconos-new { background-position: 0 -64px; } .iconos-save { background-position: 0 -96px; }

(32)

COMPASS,

SPRITES DE IMÁGENES

Mayor control con los selectores

@import "iconos/*.png";

.new {

@include iconos-sprite(new);

} .edit {

@include iconos-sprite(edit);

}

.save {

@include iconos-sprite(save);

} ...

(33)

COMPASS,

SPRITES DE IMÁGENES

Mayor control con los selectores

.new, .edit, .save, .delete {

background: url('/s34fe0604ab.png') no-repeat;

}

.new { background-position: 0 -64px; } .edit { background-position: 0 -32px; } .save { background-position: 0 -96px; } .delete { background-position: 0 0; }

@import "iconos/*.png";

.new {

@include iconos-sprite(new);

} .edit {

@include iconos-sprite(edit);

}

.save {

@include iconos-sprite(save);

} ...

(34)

DEMO

(35)

CONCLUSIONES

Limitaciones de CSS Refactorizar

COMPASS

(36)

¡MUCHAS GRACIAS!

Referencias

Documento similar

A este respecto es destacable la incorporación de los principios de trazabilidad e interoperabilidad de los datos frente a la Ley 11/2007, de 22 de junio, que no

No tienes que crear un fichero distinto para cada página, sino que el mismo fichero lo utilizarás en todas las páginas, a no ser que existan algunas páginas con estilos visuales

En el ejemplo anterior, se define un tipo de letra serif para todos los dispositivos de visualización, pero si el dispositivo de visualización es una pantalla, el tipo de letra

En el ejemplo anterior, se define un tipo de letra serif para todos los dispositivos de visualización, pero si el dispositivo de visualización es una pantalla, el tipo de letra

 Evaluar las características de los alumnos y su estilo de aprendizaje para adaptar la sesión formativa y transmitir los contenidos de manera más eficaz.. 

En línea con los trabajos que se han desan•ollado ya en los años precedentes, el programa contempla el reforzamiento de las redes de alerta sanitaria para evitar cualquier tipo

Debido a que en el gráfico anterior no se logra apreciar en forma clara, las características de peso/eslora y potencia de los vehículos que comprenden el

En este ensayo de 24 semanas, las exacerbaciones del asma (definidas por el aumento temporal de la dosis administrada de corticosteroide oral durante un mínimo de 3 días) se