Por lo que he estado leyendo, Sass es un lenguaje que hace que CSS sea más poderoso con soporte variable y matemático.
¿Cuál es la diferencia con SCSS? ¿Se supone que es el mismo idioma? ¿Similar? ¿Diferente?
Sass es un preprocesador CSS con avances de sintaxis. El programa procesa las hojas de estilo de la sintaxis avanzada y las convierte en hojas de estilo CSS normales. Sin embargo, no extienden el estándar CSS en sí.
Las variables CSS son compatibles y pueden utilizarse, pero no tan bien como las variables de preprocesador.
Por la diferencia entre SCSS y Sass, este texto en la página de documentación de Sass debería responder la pregunta:
Hay dos sintaxis disponibles para Sass. El primero, conocido como SCSS (Sassy CSS) y utilizado a lo largo de esta referencia, es una extensión de la sintaxis de CSS. Esto significa que cada hoja de estilo CSS válida es un archivo SCSS válido con el mismo significado. Esta sintaxis se mejora con las características de Sass que se describen a continuación. Los archivos que usan esta sintaxis tienen la extensión .scss .
La segunda y más antigua sintaxis , conocida como sintaxis con sangría (o, a veces, simplemente "Sass"), proporciona una forma más concisa de escribir CSS. Utiliza sangría en lugar de corchetes para indicar el anidamiento de selectores y líneas nuevas en lugar de punto y coma para separar las propiedades. Los archivos que usan esta sintaxis tienen la extensión .sass .
Sin embargo, todo esto funciona solo con el precompilador Sass que al final crea CSS. No es una extensión del estándar CSS en sí mismo.
scss
ysass
es más que solo preferencia personal en estos días.scss
es mucho más frecuente - utilizado en la mayoría de los marcos de CSS populares comoBootstrap
,Foundation
,Materialize
etc. Los principales marcos de interfaz de usuario favorecenscss
mássass
por defecto - angular, Reaccionar, Vue. Cualquier tutorial o demostración generalmente usará,scss
por ejemplo,create-react-app
facebook.github.io/create-react-app/docs/…Soy uno de los desarrolladores que ayudó a crear Sass.
La diferencia es la interfaz de usuario. Debajo del exterior textual son idénticos. Es por eso que los archivos sass y scss pueden importarse entre sí. En realidad, Sass tiene cuatro analizadores sintácticos: scss, sass, CSS y menos. Todos estos convierten una sintaxis diferente en un Árbol de sintaxis abstracta que luego se procesa en una salida CSS o incluso en uno de los otros formatos a través de la herramienta de conversión sass.
Use la sintaxis que más le guste, ambas son totalmente compatibles y puede cambiar entre ellas más adelante si cambia de opinión.
fuente
El
.sass
archivo Sass es visualmente diferente del.scss
archivo, p. Ej.Example.sass - sass es la sintaxis anterior
Example.scss - sassy css es la nueva sintaxis a partir de Sass 3
Cualquier documento CSS válido se puede convertir a Sassy CSS (SCSS) simplemente cambiando la extensión de
.css
a.scss
.fuente
.scss
a.css
lo mismo que.css
a.scss
?.css
simplemente es válido.scss
. Tan pronto como agregue un código específico de scss, cambiar el nombre del archivo nuevamente terminará como un archivo css no válido.css
es un cuadrado yscss
es un rectángulo. Todos los cuadrados son rectángulos, pero no todos los rectángulos son cuadrados.Sass ( Syntactically Awesome StyleSheets ) tiene dos sintaxis:
Por lo tanto, ambos forman parte del preprocesador Sass con dos posibles sintaxis diferentes.
La diferencia más importante entre SCSS y Sass original :
SCSS :
La sintaxis es similar a CSS (tanto que cada CSS3 válido normal también es SCSS válido , pero la relación en la otra dirección obviamente no ocurre)
Utiliza llaves
{}
;
:
@mixin
directiva@include
directivaSass original :
=
lugar de:
=
signo+
signoAlgunos prefieren Sass , la sintaxis original, mientras que otros prefieren SCSS . De cualquier manera, pero vale la pena señalar que la sintaxis indentada de Sass no ha sido y nunca será desaprobada .
Conversiones con sass-convert :
La documentación de Sass y SCSS
fuente
Su sintaxis es diferente, y ese es el pro principal (o contra, según su perspectiva).
Trataré de no repetir mucho de lo que otros dijeron, puedes buscarlo fácilmente en Google, pero en cambio, me gustaría decir un par de cosas desde mi experiencia usando ambos, a veces incluso en el mismo proyecto.
SASS pro
.sass
es mucho más fácil 'y legible que en.scss
(subjetivo).SASS contras
body color: red
que puedes hacer en .scssbody {color: red}
.scss
archivos (junto con los.sass
archivos) en su proyecto o convertirlos a.sass
.Aparte de esto, hacen el mismo trabajo.
Ahora, lo que me gusta hacer es escribir mixins y variables
.sass
y un código que realmente se compilará en CSS.scss
si es posible (es decir, Visual Studio no tiene soporte para,.sass
pero cada vez que trabajo en proyectos Rails, generalmente combino dos de ellos, no en un archivo de c).Últimamente, estoy considerando darle una oportunidad a Stylus (para un preprocesador CSS de tiempo completo) porque le permite combinar dos sintaxis en un archivo (entre otras características). Puede que esa no sea una buena dirección para un equipo, pero cuando la mantienes sola, está bien. El lápiz óptico es realmente más flexible cuando la sintaxis está en cuestión.
Y finalmente mixin para comparación de sintaxis
.scss
vs.sass
:fuente
Desde la página de inicio del idioma
SASS es un lenguaje interpretado que escupe CSS. La estructura de Sass se parece a CSS (remotamente), pero me parece que la descripción es un poco engañosa; que es no un reemplazo para CSS, o una extensión. Es un intérprete que escupe CSS al final, por lo que Sass todavía tiene las limitaciones del CSS normal, pero las enmascara con un código simple.
fuente
La diferencia básica es la sintaxis. Si bien SASS tiene una sintaxis suelta con espacios en blanco y sin punto y coma, el SCSS se parece más a CSS.
fuente
Un ejemplo de algunas sintaxis SCSS y SASS:
SCSS
HABLAR CON DESCARO A
Salida CSS después de la compilación (igual para ambos)
Para más guía puedes ver el sitio web oficial .
fuente
Sass fue el primero, y la sintaxis es un poco diferente. Por ejemplo, incluyendo un mixin:
Sass ignora los corchetes y los puntos y comas y pone el anidamiento, lo que me pareció más útil.
fuente
La diferencia entre el artículo SASS y SCSS explica la diferencia en los detalles. No se confunda con las opciones SASS y SCSS, aunque también lo fui inicialmente, .scss es Sassy CSS y es la próxima generación de .sass.
Si eso no tiene sentido, puede ver la diferencia en el código a continuación.
En el código anterior usamos; para separar las declaraciones. Incluso he agregado todas las declaraciones para .border en una sola línea para ilustrar este punto más. Por el contrario, el siguiente código SASS debe estar en diferentes líneas con sangría y no se puede usar el;.
Puede ver en el CSS a continuación que el estilo SCSS es mucho más similar al CSS normal que el enfoque SASS anterior.
Creo que la mayoría de las veces en estos días, si alguien menciona que están trabajando con Sass, se están refiriendo a la creación en .scss en lugar de la forma tradicional .sass.
fuente
El original
sass
es similar a la sintaxis de ruby, similar a ruby, jade, etc.En esas sintaxis, no usamos
{}
, en su lugar vamos con espacios en blanco, tampoco uso de;
...En las
scss
sintaxis son más parecidasCSS
, pero con la obtención de más opciones como: anidamiento, declaración, etc., similarless
y otro preprocesamientoCSS
...Básicamente hacen lo mismo, pero pongo un par de líneas de cada una para ver la diferencia de sintaxis, mire el
{}
,;
yspaces
:HABLAR CON DESCARO A:
SCSS:
fuente
La respuesta compacta:
SCSS se refiere a la sintaxis principal admitida por el preprocesador Sass CSS .
.scss
representan la sintaxis estándar admitida por Sass. SCSS es un superconjunto de CSS..sass
representan la sintaxis "más antigua" admitida por Sass que se originó en el mundo Ruby.fuente
SASS es Syntactically Awesome Style Sheets y es una extensión de CSS que proporciona las características de reglas anidadas, herencia, Mixins, mientras que SCSS es Sassy Cascaded Style Sheets, que es similar a CSS y llena los vacíos e incompatibilidades entre CSS y SASS. Fue licenciado bajo la licencia MIT. Este artículo tiene más información sobre las diferencias: https://www.educba.com/sass-vs-scss/
fuente