Conceptos Clave y Ejemplos Prácticos de HTML, CSS y JavaScript
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 14,23 KB
Conceptos Fundamentales de HTML, CSS y JavaScript
Selectores y Propiedades CSS
- El selector
input[type=web]#personal
busca un elemento con el atributotype="web"
y el IDpersonal
. padding: 0px;
: No afecta a la separación externa.margin: 30px;
: Establece una separación vertical de 30px entre los párrafos.Media screen AND (min-height:620px)
: Aplica estilos solo si la pantalla tiene una altura mínima de 620px.- Para crear una lista ordenada con ítems en línea:
display: inline;
. - El ancho de un
div
ocupa el 100% del ancho disponible. - Cuanto más específico sea un selector CSS, mayor preferencia tendrá. Ejemplo:
font-size:40px; color: blue;
tiene más preferencia que solofont-size:40px;
. vh
,em
ypc
son valores de longitud (width) válidos en CSS.sz
NO es un valor válido.- Para ocultar un elemento específico dentro de un grupo:
.objeto:nth-of-type(2) { display:none; }
. - Para cambiar el color de varios elementos del mismo tipo:
nombre.first-of-type { color: green; }
. - Para elegir entre dos opciones (ejemplo de lista desplegable):
<input type="text" list="options"> <datalist id="options"> <option value="Opción 1"> <option value="Opción 2"> </datalist>
flex-direction: row;
alinea los elementos en fila, no en columna. Para alinear en columna, se debe usarflex-direction: column;
.- Para justificar un párrafo:
text-align: justify;
. foto .casa - video
: Este selector selecciona todos los elementosvideo
que son hermanos posteriores de un elemento con la clasecasa
, donde.casa
es un descendiente de un elemento con la clasefoto
.- Para establecer una imagen de fondo:
background-image: url("fondo.png");
. <article>
puede contener elementos hijos de tipo<section>
.MPEG
no es un formato estándar para elementos<audio>
o<video>
sin extensiones adicionales (como códecs específicos).- El selector
div.importante > p + img
selecciona todas las imágenes que siguen inmediatamente a un párrafo (p
) que es hijo directo de undiv
con la claseimportante
. <hr>
inserta una barra horizontal en la página web.document.querySelector("p:first-of-type").style.display = "none";
oculta el primer párrafo de la página.- El envío de datos desde un formulario en un
iframe
no será posible si eliframe
tiene el atributosandbox
. img[alt="flores"].exotic
selecciona las imágenes que tienen el atributoalt
igual a "flores" y pertenecen a la claseexotic
.min-width:700px;
establece que un elemento no puede reducirse por debajo de los 700px de ancho.#uno {margin:10px;} #dos {margin:20px;}
: Si dos elementos con estos IDs están uno encima del otro, la separación *vertical* será de 20px (el margen mayor prevalece).- Etiquetas semánticas para código:
<var>
,<code>
,<samp>
y<kbd>
. <form>
: Crea un elemento de bloque.<span>
: Crea una agrupación en línea.<fieldset>
: Agrupa elementos relacionados en un formulario.size
no es un atributo válido para especificar tamaños en CSS.&
(probablemente refiriéndose a entidades HTML), RGB o valores hexadecimales (#
) sí son válidos para colores.- Para crear un círculo negro, se puede usar un elemento con
width: 0; height: 0; border-radius: 50%; background-color: black;
. Solo conwidth: 0; height: 0;
no se mostraría nada. li#item a.clase:hover { ... }
: Aplica estilos a un enlace (<a>
) con la claseclase
dentro de un elemento de lista (<li>
) con el IDitem
, solo cuando el cursor está sobre el enlace.- Dentro de la cabecera (
<head>
) de un documento HTML pueden estar:<title>
,<meta>
y<script>
. - Un elemento
<section>
puede tener elementos hijos de tipo<article>
y viceversa. - Dos elementos
<span>
pueden ubicarse uno al lado del otro (son elementos en línea). - Etiquetas de marcado semántico:
<figure>
,<article>
,<header>
. NO son semánticas:<script>
,<foot>
(debería ser<footer>
),<span>
. <wbr>
no es una etiqueta semántica. Indica un punto de ruptura de palabra opcional.<th>
crea celdas de encabezado en una tabla.<link>
es una etiqueta que no tiene etiqueta de cierre.<head>
define la parte de metadatos en un HTML.<input type="text">
se usa para una entrada de texto (nombre y apellidos, por ejemplo).<section>
,<div>
y<article>
permiten agrupar elementos HTML.<span style="color: blue">palabra</span>
cambia el color de "palabra" a azul.file
,tel
,reset
son tipos de<input>
. No se usan dentro de<textarea>
.- Centrar una imagen: Se puede usar
text-align: center;
en el elemento padre, omargin: 0 auto; display: block;
en la propia imagen. - Modificar tamaño de texto:
font-size
. - Cambiar color de fondo:
background-color
. - Cambiar color de bordes:
border-color
. - Cambiar tipo de letra:
font-family
. - El código JavaScript en una página web se ejecuta en la máquina del usuario (en el navegador).
- Vincular hoja de estilos externa:
<link rel="stylesheet" type="text/css" href="fichero.css">
. <title>
no se muestra en el contenido de la página web, pero sí en la pestaña del navegador.- Atributos del elemento
<body>
(algunos obsoletos): Se puede especificar una imagen de fondo (background
- obsoleto), color de texto (text
- obsoleto) y color de fondo (bgcolor
- obsoleto). Es mejor usar CSS para esto. - Seleccionar elementos
div
de clasecontenedor-lateral
:div.contenedor-lateral
. <input type="submit">
: Crea un botón para enviar la información de un formulario a un servidor.- W3C (World Wide Web Consortium) crea estándares para la web.
#parrafo
permite seleccionar el elemento cuyoid
es "parrafo".img[alt*="salvaje"]
: Selecciona elementos<img>
cuyo atributoalt
*contiene* la palabra "salvaje".<!DOCTYPE html>
: Indica el tipo de documento (HTML) y la versión (HTML5 en este caso).- No es obligatorio especificar el tamaño de una imagen (
width
yheight
), pero es recomendable para optimizar la carga de la página. margin: 2px; border: 3px solid black;
: Establece un margen de 2 píxeles y un borde negro sólido de 3 píxeles.style: flex
no es una propiedad CSS válida por sí sola. Se usan propiedades comodisplay: flex;
,flex-direction
,justify-content
, etc.
Ejemplos de JavaScript
Agregar elementos al DOM
// Agregar varios párrafos
for (x of posiciones) {
let p = document.createElement("p"); // Crea un nuevo elemento <p>
p.innerHTML = x; // Inserta contenido en el elemento <p>
document.body.appendChild(p); // Agrega el elemento <p> al body
}
// Agregar elementos a una lista
var lista = document.createElement("ol"); // Crea una lista ordenada
for (var i = 0; i < editados.length; i++) {
let libro = document.createElement("li"); // Crea un elemento de lista
libro.innerHTML = editados[i].titulo;
lista.appendChild(libro); // Agrega el elemento de lista a la lista ordenada
}
document.body.appendChild(lista); // Agrega la lista al body
// Crear una lista en una sola cadena
let resultado = ""; // Crea una cadena vacía
resultado = "<ol>"; // Añade a la variable resultados el inicio de una lista
for (let i = 0; i < 31; i++) {
resultado = resultado + "<li>" + i + "</li>"; // Abre y cierra la etiqueta que es una lista
}
resultado = resultado + "</ol>"; // Cierra la lista
console.log(resultado);
// Cambiar extensiones de archivo a .png
function transformaPng(nombre) {
var res = nombre + ".png";
console.log(res);
return res;
}
paisajes.forEach(transformaPng); // Itera sobre un array (asumiendo que 'paisajes' existe)
// Agregar una advertencia
function advertir() {
var advertencia = document.createElement("p");
advertencia.innerHTML = "<b>Cuidado</b>"; // <b> </b> -> Negrita
document.body.appendChild(advertencia);
}
Métodos de selección de elementos del DOM
document.getElementsByTagName()
: Busca todos los elementos de un tipo específico (por ejemplo,p
,div
, etc.).document.getElementById()
: Busca un elemento por su ID.document.querySelector()
: Devuelve el *primer* elemento que coincide con un selector CSS.document.querySelectorAll()
: Devuelve *todos* los elementos que coinciden con un selector CSS.
Manipulación de Arrays en JavaScript
posiciones.push("");
: Añade un elemento al final de un array.("").pop();
: Elimina el último elemento de un array.("").unshift();
: Añade un elemento al principio de un array.("").shift();
: Elimina el primer elemento de un array.("").firstChild;
: Devuelve el primer nodo hijo de un nodo. Si no hay hijos, devuelvenull
.("").childNodes[0];
: Accede al primer nodo hijo de un nodo (equivalente afirstChild
).
Ejemplo de appendChild
// Añadir un solo elemento
let casas = document.createElement("p");
casas.innerHTML = "¡Hola, soy un nuevo párrafo!";
document.body.appendChild(casas);
// Añadir varios elementos
let vehiculos = document.createElement("div");
vehiculos.innerHTML = "Este es el grupo de vehiculos";
let bici = document.createElement("p");
bici.innerHTML = "Toyota"; // (Debería ser un tipo de vehículo, ej: "Bicicleta")
vehiculos.appendChild(bici);
document.body.appendChild(vehiculos);
Otros Conceptos de JavaScript
- El número 0 es considerado "falsy" (falso) en JavaScript.
isNaN()
: Verifica si un valor *no* es un número válido (Not-a-Number).typeof(null)
devuelve "object".- Cadenas o variables vacías, al convertirlas a número, se evalúan como 0.
Ejecutar código después de cargar la página
document.addEventListener("DOMContentLoaded", function () {
// Código a ejecutar cuando el DOM esté completamente cargado
actualizar(p1, p2); // (Asumiendo que 'actualizar', 'p1' y 'p2' están definidos)
});
Ejemplo de creación de elemento con createElement
document.createElement("div");
crea un nodo elemento de tipo <div>
, pero no lo añade al documento. Para hacerlo visible, se debe usar appendChild()
o un método similar.
Ejemplos Adicionales de JavaScript
// Ejemplo de array y función
let b = { idiomas: ["castellano", "valenciano", "inglés"] };
function CambioNombre(nombre) {
var res = nombre + "-GTDM";
console.log(res);
return res;
}
d.forEach(CambioNombre); // (Asumiendo que 'd' es un array)
// Calcular el valor total de libros (asumiendo un array 'editados')
function calcularValorTotal() {
var total = 0;
for (var i = 0; i < editados.length; i++) {
total += editados[i].precio * 100; // Multiplica por 100 (¿para centavos?)
}
return total;
}
var valorTotal = calcularValorTotal();
console.log("El valor total de los libros en stock es: " + valorTotal + " euros.");
// Concatenar propiedades de un objeto
var obj = { num1: "10", num2: "2", num3: "55" };
function Concatenar() {
if (typeof obj.num1 === 'string' && typeof obj.num2 === 'string' && typeof obj.num3 === 'string') {
var res = obj.num1.concat(obj.num2).concat(obj.num3);
return res;
} else {
return "Nada";
}
}
console.log(Concatenar());
//Obtener el numero de propiedades de un objeto
Object.keys(obj).length
Ejemplo de creación de lista con manejador de eventos
<li data-opcion="none" onclick="gestionar(this)">Eliminar anuncio</li>
<li data-opcion="red" onclick="gestionar(this)">Anuncio con texto rojo</li>
Ejemplo de inicialización de array
let m = [];
m[0] = 5;
m[1] = 10;
m[2] = 15;
Ejemplo de función simple
function sumarDos(a, b) {
return a + b; // Devuelve la suma de a y b
}
console.log(sumarDos(2, 4)); // Imprime 6
Ejemplo de modificación del DOM
document.getElementById("demo").innerHTML = 'Epa';
// O
document.querySelector("#demo").innerHTML = 'Epa';
Este código reemplaza el contenido de un elemento con el ID "demo" con el texto 'Epa'.