Extends
En el punto anterior vimos mixin, encapsular y reutilizar estilos usando Sass. Con Sass podemos también combinar selectores utilizando la directiva @extend.

¿Qué es lo que ocurriría si usamos selectores nested y extend?
En este ejemplo, estamos extendiendo .content en nuestra declaración, pero .content tiene un bloque para los h2 dentro. Cuando compilamos el código anterior, no solo se añade lo que contiene .content a .callout, sino que también hereda el h2. extend es bastante útil ya que podemos combinar selectores en nuestra hoja de estilos. Pero tiene algunos problemas. Por ejemplo:
Al heredar .btn-b las propiedades de .btn-a, las hereda tanto del selector .btn-a como también del selector .sidebar .btn-b (cuando .btn-a está dentro de .sidebar), por lo que también se creará una regla idéntica para cuando .btn-b esté dentro de .sidebar.
Por tanto, desde el momento en el que el .btn-b extiende de .btn-a, cualquier cambio que hagas desde .btn-a usando otros selectores afectará a .btn-b. Esto lo podemos solventar usando selectores "placeholder" como veremos a continuación.
Los selectores placeholder en Sass están precedidos por el símbolo del porcentaje (%), además, pueden ser extendidos, pero nunca serán un selector en sí mismos. Si volvemos al ejemplo anterior de los botones y usamos un placeholder de forma que las partes comunes las agrupamos y hacemos que .btn-a y .btn-b extiendan del placeholder.
Los selectores placeholder son bastante útiles cuando queremos reusar estos estilos CSS en nuestra hoja de estilos. Aquí tenemos otro ejemplo:
Por último, antes de acabar este punto decir que debemos tener cuidado ya que las versiones anteriores a IE9 tiene el límite de 4095 selectores CSS por archivo, por tanto, si usamos muchos extend o muchos imports puede que alcancemos el total de 4095 selectores que tiene como límite, si se llega a sobrepasar ese límite todo lo que se sobrepase será ignorado.