La funci贸n de CSS personalizado te permite agregar tu toque personal al contenido de H5P. De esta manera, puedes, por ejemplo, reemplazar los colores y fuentes predeterminados de H5P con la marca de tu organizaci贸n, d谩ndote a煤n m谩s control sobre el aspecto y la sensaci贸n de tu contenido.
C贸mo funciona la funci贸n de CSS personalizado
La funci贸n de CSS personalizado permite a los administradores agregar sobrescrituras de CSS. Los administradores pueden agregar sobrescrituras primero en un modo de vista previa, donde los cambios solo son visibles para los administradores. Cuando est茅s satisfecho con las pruebas de los estilos en tu contenido, puedes aplicar las sobrescrituras de CSS en vista previa a todo el contenido de la organizaci贸n.
Las sobrescrituras de CSS, cuando se aplican a toda la organizaci贸n, afectan todo el contenido de H5P para todos los usuarios.
Activaci贸n de la funci贸n de CSS personalizado
Por defecto, la funci贸n de CSS personalizado est谩 deshabilitada y los clientes deben contactar a su representante de clientes para obtener acceso a esta funci贸n.
Advertencias
La raz贸n por la cual la funci贸n de CSS personalizado est谩 deshabilitada por defecto es que, si se usa incorrectamente, la funci贸n puede da帽ar el aspecto, la funcionalidad y la accesibilidad del contenido. Incluso si el contenido parece funcionar despu茅s de agregar el CSS, una futura actualizaci贸n de H5P que no sea compatible con los cambios de CSS puede da帽ar el aspecto o el comportamiento del contenido. El acceso a la funci贸n de CSS tambi茅n introduce problemas de seguridad. Abre algunas v铆as de ataque para alguien con acceso a las cuentas de administraci贸n del cliente.
Flujo de trabajo recomendado
H5P utiliza grandes cantidades de CSS. Leer la estructura de CSS y DOM l铆nea por l铆nea no es pr谩ctico. En su lugar, recomendamos el siguiente flujo de trabajo al trabajar en el CSS de H5P.com:
- Usa la herramienta de desarrollo de tu navegador y crea sobrescrituras de CSS en tu navegador.
- Copia las sobrescrituras de CSS desde tu navegador a un archivo o directamente al campo de sobrescrituras de CSS en la interfaz de administraci贸n de H5P.com. (La interfaz CSS est谩 en Administrar Organizaci贸n > Configuraci贸n > CSS Personalizado)
- Prefija todos tus selectores de CSS con .h5p-content
- Prueba todos los tipos de contenido que puedan verse afectados por las sobrescrituras y aseg煤rate de que funcionen correctamente en todos los navegadores. Ten en cuenta que si haces sobrescrituras para, por ejemplo, Multiple Choice, este puede ser utilizado dentro de Course Presentation, Question Set, Interactive Video y Column, por lo que los Multiple Choice dentro de estos H5Ps tambi茅n ser谩n afectados. Idealmente, deber谩s verificar que tus sobrescrituras funcionen como se espera en todos estos contextos diferentes.
- Aplica los cambios a tu organizaci贸n utilizando la interfaz de administraci贸n de H5P.com cuando sientas que tus cambios tienen el efecto deseado.
Qu茅 cambiar y qu茅 no cambiar
Todas las sobrescrituras de CSS conllevan un riesgo. Los tipos de contenido de H5P.com se actualizan regularmente y siempre existe la posibilidad de que una actualizaci贸n haga que tus sobrescrituras de CSS dejen de funcionar. Los colores son lo m谩s seguro de cambiar. Las cosas m谩s riesgosas de cambiar son las que afectan la posici贸n o el tama帽o de los objetos. Tales cambios pueden arruinar el contenido al ser actualizado, arruinando el contenido si se exporta desde H5P.com y subido a un sitio que no tiene las mismas sobrescrituras de CSS.
Sobrescritura de fuentes
En CSS, tienes la posibilidad de cargar y usar otras fuentes, adem谩s de las predeterminadas proporcionadas por H5P. Debido a la estricta Pol铆tica de Seguridad de Contenidos (CSP) en H5P.com, la 煤nica opci贸n es usar las fuentes servidas por Google Fonts (https://fonts.google.com/).
Especificidad de CSS
Es importante tener una buena comprensi贸n de c贸mo funciona CSS antes de crear tus propias personalizaciones. Hay muchos buenos recursos en l铆nea, y no vamos a duplicarlos aqu铆. Pero vamos a ver un poco c贸mo funciona la especificidad de CSS. Es decir: c贸mo selecciona el navegador qu茅 propiedades aplicar cuando hay varios selectores para un elemento DOM con la misma propiedad. Comenzaremos con un ejemplo:
button {
/* Esto afectara todos los botones*/
background-color: red;
}
button.retry {
/* Para todos los botones que tengan la clase="retry", el color de fondo de
arriba sera alterado */
background-color: green;
}
En el ejemplo anterior, "button.retry" obtiene un mayor peso (ya que es m谩s espec铆fico) y, por lo tanto, usar谩 esta propiedad background-color para todos los botones que tengan class="retry".
Aqu铆 tienes otro ejemplo:
.h5p-joubelui-button {
background-color: green;
}
.h5p-joubelui-button {
background-color: red;
}
Estas dos declaraciones tienen igual especificidad. En este caso, se aplica al elemento de la 煤ltima declaraci贸n encontrada, es decir, el color de fondo ser谩 rojo. Esto es relevante para h5p.com, ya que el CSS personalizado se carga despu茅s del CSS predeterminado proporcionado por h5p.com.
Lee m谩s sobre la especificidad de CSS aqu铆: https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity
Mejores Pr谩cticas
Sobrescribe solo las cosas que deseas cambiar. Es decir, no agregues CSS que no cambie nada.
S茅 espec铆fico al crear las reglas de selectores de CSS. Por ejemplo, si solo deseas cambiar el color de un bot贸n dentro de Multiple Choice, aseg煤rate de que tu selector refleje eso, refiri茅ndote a los ejemplos a continuaci贸n.
Agrega comentarios a tus personalizaciones de CSS, para que sea f谩cil entender m谩s tarde qu茅 est谩s cambiando realmente. En CSS, los comentarios deben usar el siguiente formato: /* Aqu铆 hay un comentario */
Ejemplos:
Cambiar los colores de todos los botones en (la mayor铆a de) los tipos de contenido
En este ejemplo, cambiaremos el color de fondo de los botones en diferentes tipos de contenido.
.h5p-joubelui-button {
background-color: #000;
}
/* Efecto de colocar rat贸n sobre y foco */
.h5p-joubelui-button:hover,
.h5p-joubelui-button:focus {
background-color: #444;
}
/* Efecto de clic */
.h5p-joubelui-button:active {
background-color: #222;
box-shadow: none;
}
Al aplicarse, deber铆a verse as铆:
聽
Ten en cuenta que esto no se aplicar谩 a todos los botones en todos los tipos de contenido, sino solo a aquellos que tengan la clase h5p-joubelui-button.
Cambiar colores para los botones en un cierto tipo de contenido
En este ejemplo, vamos a cambiar los colores de los botones dentro del contenido Fill in the Blanks.
.h5p-blanks .h5p-joubelui-button {
background-color: #000;
}
/* Efecto de colocar rat贸n sobre y foco */
.h5p-blanks .h5p-joubelui-button:hover,
.h5p-blanks .h5p-joubelui-button:focus {
background-color: #444;
}
/* Efecto de clic */
.h5p-blanks .h5p-joubelui-button:active {
background-color: #222;
box-shadow: none;
}
聽
Como puedes ver, hemos a帽adido ".h5p-blanks" a cada uno de los selectores. Para encontrar el selector a usar para un cierto tipo de contenido, debes localizar el elemento DOM dentro del iframe de H5P que tenga la clase h5p-container, la cual tambi茅n tendr谩 una clase "h5p-<tipo-de-contenido>".
Cambiar colores para botones cuando se incluye un tipo de contenido dentro de otro聽
En el ejemplo anterior, cambiamos el color del bot贸n para Fill in the Blanks en todas partes. Es decir, tanto de forma independiente como tambi茅n cuando se usa dentro de otros tipos de contenido (por ejemplo, en Course Presentation). En este ejemplo, estamos aplicando el mismo cambio, pero solo cuando Fill in the Blanks se muestra dentro de una Course Presentation:
.h5p-course-presentation .h5p-blanks .h5p-joubelui-button {
background-color: #000;
}
/* Efecto de colocar rat贸n sobre y foco */
.h5p-course-presentation .h5p-blanks .h5p-joubelui-button:hover,
.h5p-course-presentation .h5p-blanks .h5p-joubelui-button:focus {
background-color: #444;
}
/* Efecto de clic */
.h5p-course-presentation .h5p-blanks .h5p-joubelui-button:active {
background-color: #222;
box-shadow: none;
}
.h5p-content[data-content-id="1291454716549314006"] .h5p-joubelui-button {
background-color: #000;
}
/* Efecto de colocar rat贸n sobre y foco */
.h5p-content[data-content-id="1291454716549314006"] .h5p-joubelui-button:hover,
.h5p-content[data-content-id="1291454716549314006"] .h5p-joubelui-button:focus {
background-color: #444;
}
/* Efecto de clic */
.h5p-content[data-content-id="1291454716549314006"] .h5p-joubelui-button:active {
background-color: #222;
box-shadow: none;
}
Como puedes ver arriba, hemos a帽adido .h5p-content[data-content-id="1291454716549314006"] en el selector. El data-content-id es 煤nico para cada elemento de contenido y es el mismo valor que se ve en la 煤ltima parte de la URL al ver un H5P.
Usando una extensi贸n de Google Chrome para crear el CSS
Si est谩s realizando grandes personalizaciones de CSS, puede ser un poco engorroso cambiar el CSS personalizado en h5p.com una y otra vez. Otra opci贸n es usar las capacidades del navegador para crear el CSS localmente. Esto tambi茅n tiene otros beneficios:
- La persona que crea el CSS no necesita tener acceso de administrador a la cuenta de h5p.com.
- Los cambios de CSS se reflejan de inmediato. Es decir, no tienes que actualizar la p谩gina del navegador.
- El CSS se puede crear mientras se visualiza el H5P desde dentro del LMS.
Hay varias formas de lograr esto, pero aqu铆 veremos c贸mo usar una extensi贸n de Google Chrome llamada Stylus:
Primero, necesitas instalar Stylus. Luego, debes configurarlo como se ilustra a continuaci贸n:
聽
Debajo se muestra el resultado al visitiar un Fill in the Blanks desde el LMS Canvas: