Documentos de Académico
Documentos de Profesional
Documentos de Cultura
$primary: blue
$secondary: green
$dark: #000
$darkOpacity: rgba($dark,0.4)
$font-size: 3rem
/* esto seria para brand, para tener un indentificador del proyecto */
$brand: 'dsc'
.#{$brand}-title-primary
font-size: $font-size
color: $primary
.#{$brand}-title-secondary
font-size: $font-size
color: $secondary
.#{$brand}-title-dark
color: $darkOpacity
/* 2. NESTING,
usar un atributo que compartan el prefijo sin necesidad de repetirlo,para
clases y para propiedades y atributos
Muchas veces tenemos propiedades que
tienen el mismo prefijo, como Fontfamily, Font-size y Font-weight o textalign,
text-transform y text-overflow.*/
font:
size: $font-size
weight: 20px
family: Arial, "Helvetica Neue", Helvetica, sans-serif
/* 3.b nesting */
.#{$brand}-card
width: 200px
padding: 0
border:
radius: 50px
width: 1px
style: solid
color: $secondary
img
width: 100%
height: 150px
display: block
h1
height: 50px
line-height: 50px
margin: 0
1
3. AMPERSAND &
Por medio del operador ampersand (&) podemos copiar el se padre de las llaves para ser sustituido en
la regla de estilo.
/* Con el fichero .html proporcionado, utiliza el operador & de Sass para que
los botones queden lo más parecido posible a la imagen adjunta. Los botones
deben estar horizontalmente alineados y en el centro exacto de la página.
Añadir las propiedades que consideréis, colores, fondos, etc. Pero las pseudo
clases que debéis usar son: hover, visited, active, focus, focus-visible y
target. */
body{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
background-color: rgb(51,51,51);
}
#botones{
position: absolute;
top: 45%;
input{
width:270px;
height: 60px;
margin-left: 30px;
border:3px solid white;
color: white;
background-color: rgb(51,51,51);
font-size: 25px;
&:hover{
color:red;
border:6px solid red;
}
&:visited{
background-color:yellow
}
&:active{
text-decoration:underline ;
color: orange;
}
&:focus{
background-color:rgb(0,207,209)
}
&:focus-visible{
color:burlywood;
}
&:target{
box-shadow: 5px 10px 4px grey;
}
}
}
2
// 4. IMPORTS
@import '../sass'
h4{
color:$}
%btn{
height: 40px;
min-width: 100px;
border-radius: 5px;
color: white;
font-size: 16px;
margin: 5px 0;
box-shadow: 2px 2px 5px 2px gray;
&:hover{
cursor: pointer;
}
}
.#{brand}-btn-primary{
@extend %btn;
background-attachment: $primary;
}
// equivaldria a esto
.#{$brand}-btn-
&primary, &success, &danger
@extend %btn
&primary
background: $primary
&success
background: $secondary
3
// 6. GENERAR CLASES
selector padre, como a partir de una clase se generan subclases, que
seria .btn-outline-primary
.btn-outline
border-radius: 5px
color: white
font-size: 16px
margin: 5px 0
cursor: pointer
&-primary
border: 1px solid $primary
color:$primary
&:hover
background-color: white
&-success
border: 1px solid $primary
color:$secondary
// 7. MIXIN
.btn-outline
border-radius: 5px
color: white
font-size: 16px
margin: 5px 0
cursor: pointer
@include button ('primary',$primary)
@include button ('success',$secondary)
4
// mixin size
@mixin size($h,$w,$p,$m,$bg)
height: $h
width: $w
padding: $p
margin: $m
background: $bg
.im
&-container
@include size(200px,200px,1rem,1rem,red)
&-big
@include size(500px,700px,1rem,1rem,red)
h1{
/** aqui lo hacemos es coger el color de success **/
color:nth($color,2)}
$pallete:
'primary':rgb(26,11,107)
'secondary':rgb(12,204,70)
'success': rgb(231,47,56)
'blue':rgb(21,8,212)
h1
color:map-get($map:$pallete,$key:'secondary')
5
/** 11. funciones **/
.alert
&-primary:
width: calc(100%-1rem-30px)
padding: 15px
margin:0.5rem
@function color($name)
@return map-get($map:$pallete,$key:$name)
h1
color:color('primary')
@function reduceColor($name,$amount)
@return rgba($name,$amount)
@function changeColor($name,$type:darken,$amount:1,$colorMix:#fff)
$color:color($name) //funcion color()
@if $type== darken
$color:darken($color,$amout)// darken es propio de css, es para oscurecer un
color
@else if $type== lighten
$color:lighten($color,$amount)
@else if $type==mixcolor
$findcolor:color($colorMix)
@if $findcolor
$colorMix:$findcolor
@else
//add opacity
$color:rgba($color,$amount)
@return $color
h1
changeColor('primary', darken,15)
6
// 13.2
$titles: (
"xs":16px,
"md":20px ,
"lg":24px,
"xl":32px)
table
border-collapse: collapse
td
padding: 10px
border-left: 1 px solid blue