Ejemplo HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <form method="get" action="#">
        <label for="nombre">Introduce el nombre</label>
        <input type="text" id="nombre" maxlength="5" size="10" name="nombre" placeholder="Introduce tu nombre" />
        <label for="apellido">Introduce el apellido</label>
        <input type="text" size="30" id="apellido" name="apellido" value="Apellido" />
        <br />
        <fieldset>
            <legend>Datos del curso</legend>
            <label for="curso">Escoge un curso</label>
            <input type="radio" id="JS" name="curso" value="JS" checked>
            <label for="JS">JS</label>
            <input type="radio" id="Java" name="curso" value="Java">
            <label for="Java">Java</label>
            <input type="radio" id="CSharp" name="curso" value="C#">
            <label for="CSharp">C#</label>
            <br />
            <input type="checkbox" id="beca" name="beca" value="beca">
            <label for="beca">¿Tienes beca?</label>
        </fieldset>
        <input type="color" name="password">
        <select id="aula" name="aula">
            <optgroup label="Edificio 1"></optgroup>
            <option value="1">Aula 1</option>
            <option value="2">Aula 2</option>
            <option value="3">Aula 3</option>
            <optgroup label="Claustro"></optgroup>
            <option value="4">Sala de actos</option>
        </select>
        <input list="profesores" name="profesor" class="prueba">
        <textarea name="contacto" id="contacto" cols="30" rows="10">contenidp</textarea>
        <textarea id="mensaje" name="mensaje" rows="10" placeholder="Mensaje"></textarea>
        <input type="button" value="Botón">
        <input list="profesores" name="profesor_auxiliar">
        <button>B<b>oo</b>otón</button>
        <datalist id="profesores">
            <option value="Ana Pi"></option>
            <option value="Eva Buj"></option>
            <option value="Luis Pérez"></option>
        </datalist>
    </form>
    <script src="js/script.js"></script>
</body>

</html>

Layout 2 parte

<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>The Corner</title>
    <link rel="stylesheet" href="css/estilos.css" />
</head>

<body>
    <header>
        <h1>The Corner</h1>
        <nav>
            <p>Inicio</p>
            <p>Productos</p>
            <p>Servicios</p>
            <p>Contacto</p>
        </nav>
    </header>
    <section id="eslogan">
        <h2>Bienvenidos a <span class="destacado">The Corner</span> la mejor academia para aprender.</h2>
        <h2>Cada día te preparamos para el futuro.</h2>
    </section>
    <section id="portada">
        <img src="img/academia.png" alt="academia" />
        <article>
            <h3>Aulas</h3>
            <p>Las mejores aulas de toda Barcelona.
                Medios técnicos inigualables.</p>
        </article>

    </section>
    <div class="separador"></div>
    
    <section id="caracteristicas">
        <article class="caracteristica">
            <p class="numero">1</p>
            <div>
                <h4>Titulo</h4>
                <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Repellendus, blanditiis voluptates? Ad,
                    reprehenderit animi natus nihil adipisci placeat eveniet ipsa. Facere, ullam quaerat quasi ipsa quas
                    harum est praesentium mollitia.</p>
            </div>
        </article>
        <article class="caracteristica">
            <p class="numero">2</p>
            <div>
                <h4>Titulo</h4>
                <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Repellendus, blanditiis voluptates? Ad,
                    reprehenderit animi natus nihil adipisci placeat eveniet ipsa. Facere, ullam quaerat quasi ipsa quas
                    harum est praesentium mollitia.</p>
            </div>
        </article>
        <article class="caracteristica">
            <p class="numero">3</p>
            <div>
                <h4>Titulo</h4>
                <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Repellendus, blanditiis voluptates? Ad,
                    reprehenderit animi natus nihil adipisci placeat eveniet ipsa. Facere, ullam quaerat quasi ipsa quas
                    harum est praesentium mollitia.</p>
            </div>
        </article>
    </section>
    <h2 class="texto_separador">Recent work</h2>
</body>

</html>
*{
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin: 0;
}
header{
    background-color: black;
    color: white;
    padding: 2em;
    /*
    De esta manera se organizan los dos elementos de la cabecera, el h1 y el nav
    display: flex;
    justify-content: space-between;
    align-items: center;
    */
}
nav{
    display: flex;
    float: right;
}
nav p{
    margin: 0 1em;
}
nav p:hover{
    color: yellow;
    cursor: pointer;
}
section{
    margin:2em;
    padding: 1em;
}
#eslogan{
    text-align: center;
    line-height: 3em;
}
.destacado{
    background-color: green;
    color: white;
    border-radius: 6px;
    padding: .2em;
}
#portada{
    position: relative;
}
#portada img{
    width: 100%;
}
#portada article{
    position: absolute;
    bottom: 2em;
    left: 2em;
    width: 30%;
    background-color: #00000095;
    color: white;
    padding: 3em;
}
.separador{
    border-bottom: solid 1px #8f8f8f;
    margin: .4em 3em;
}
#caracteristicas{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin: 0;
}
.caracteristica{
    display: flex;
    align-items: start;
    width: 30%;
    padding: 1em;
}

.numero{
    background-color: gray;
    border-radius: 50%;
    font-size: 1.5em;
    width: 1.3em;
    text-align: center;
    padding: .1em;
    margin: 0.1em 1em;
    flex-shrink: 0; /*para evitar que se distorsione */
}
.numero:hover{
    background-color: green;
    color:white;
}
.texto_separador{
    margin: .4em 3em;
    display: flex;
    align-items: center;
}
.texto_separador::after {
    content: '';
    flex: auto;
    margin-left: 1rem;
    border-top: 1px solid #8f8e8e;
  }

Layout primera parte

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>The Corner</title>
    <link rel="stylesheet" href="css/estilos.css"/>
</head>
<body>
    <header>
        <h1>The Corner</h1>
        <nav>
            <p>Inicio</p>
            <p>Productos</p>
            <p>Servicios</p>
            <p>Contacto</p>
        </nav>
    </header>
    <section id="eslogan">
        <h2>Bienvenidos a <span class="destacado">The Corner</span> la mejor academia para aprender.</h2>
        <h2>Cada día te preparamos para el futuro.</h2>
    </section>
    <section id="portada">
        <img src="img/academia.png" alt="academia"/>
        <article>
            <h3>Aulas</h3>
            <p>Las mejores aulas de toda Barcelona. 
                Medios técnicos inigualables.</p>
        </article>
    </section>
</body>
</html>
*{
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin: 0;
}
header{
    background-color: black;
    color: white;
    padding: 2em;
    /*
    De esta manera se organizan los dos elementos de la cabecera, el h1 y el nav
    display: flex;
    justify-content: space-between;
    align-items: center;
    */
}
nav{
    display: flex;
    float: right;
}
nav p{
    margin: 0 1em;
}
nav p:hover{
    color: yellow;
    cursor: pointer;
}
section{
    margin:2em;
    padding: 1em;
}
#eslogan{
    text-align: center;
    line-height: 3em;
}
.destacado{
    background-color: green;
    color: white;
    border-radius: 6px;
    padding: .2em;
}
#portada{
    position: relative;
}
#portada img{
    width: 100%;
}
#portada article{
    position: absolute;
    bottom: 2em;
    left: 2em;
    width: 30%;
    background-color: black;
    color: white;
    padding: 3em;
}

Ejemplo flex

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link href="css/flex_ejemplo.css" rel="stylesheet"/>
</head>
<body>
    <head><img src="img/mascotas.jpg"><h1>Mis mascotas</h1>
    <h5>Tu mejor tienda de mascotas</h5></head>
    <div id="galeria">
        <div class="tarjeta"><h5>Gatito</h5><img src="img/gato.webp"/></div>
        <div class="tarjeta"><h5>Gatito</h5><img src="img/gato.webp"/></div>
        <div>  <div class="tarjeta"><h5>Gatito</h5><img src="img/gato.webp"/></div>
        <div class="tarjeta"><h5>Gatito</h5><img src="img/gato.webp"/></div></div>
      
        <div class="tarjeta"><h5>Gatito</h5><img src="img/gato.webp"/></div>
        <div class="tarjeta"><h5>Gatito</h5><img src="img/gato.webp"/></div>
               
       
    </div>
</body>
</html>

#galeria{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    height: 600px;
    background-color: bisque;
    align-content: stretch;
}
.tarjeta{
    background-color: chartreuse;
    border-style: solid;
    border-radius: 5px;
    border-width: 2px;
    margin: 1em;
    padding: .5em;
}
.tarjeta img{ /* pon estas propiedades a las img dentro de la clase tarjeta */
    width: 190px;
}
.tarjeta h5{
    color:red;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

Layout

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="css/styles.css"/>
</head>
<body>
    <header>
        <h1>Tornillerías Martínez</h1>
    </header>
    <aside>
        <ul>
            <li>Inicio</li>
            <li>Productos</li>
            <li>Contacto</li>
        </ul>
    </aside>
    <main>
        <h2>Los mejores tornillos del mundo</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Blanditiis temporibus exercitationem alias iure repellendus ad sed adipisci minus fuga voluptatibus sequi odit dolore, vel doloribus nobis recusandae quaerat iusto earum?</p>
        <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Obcaecati voluptates placeat quaerat corporis at quos earum mollitia inventore debitis, consectetur repellat soluta similique provident harum assumenda eum amet iste consequuntur.</p>
    </main>
    <footer>
        <p>(C) The Corner</p>
    </footer>
</body>
</html>

.cabecera{
    color: green;
    border-style:solid;
    border-right-color: blue;
    border-left-color: rgb(243, 132, 29);
    border-width: 10px; /* todos los bordes tienen 10px de ancho */
    border-width: 10px 5px; /* arriba y abajo tienen 10 izq y derecha 5 */
    border-width: 10px 5px 0; /* empezamos por arriba y seguimos las agujas del reloj */
 
}

.azuloscuro{
    color:#010157;
   /* font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
    font-style: italic; /* lo pone en cursiva */
    /*font-weight:lighter; /* para ponerlo en negrita */
  /*  font-size:1rem; /* 1 rem = 16px */
  
    font: bold 1rem Arial;
    text-align: justify;
  
}
li{
    color:#ff7272;
}
table{
    width: 70%;
    margin: 20px auto;
}
th, td {
    border-style:dotted;
  }
  .contenedor{
    background-color: bisque;
    width:70%;
    margin: auto;
    padding-bottom: 20px;
    position: relative;
  }
  .articulos{
    width: 50%;
    background-color: aqua;
    margin: 20px auto;
    padding-left: 1em;
    text-align: center;
    position: absolute;
   top:50%;
   left:25%;
   width:50%;
  }
 
  header{
    background-color: aquamarine;
  }
  aside{
    background-color: gray;
    width: 33%;
    float: left;
    position: relative;
    bottom:-100px;
    right:40px;
  }
  main{
    background-color: darkkhaki;
    width: 66%;
    float: right;
  }
  footer{
    background-color: black;
    color: white;
    clear: both;
  }

Solución ejercicio HTML+CSS

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Informe de ventas</title>
    <link href="css/styles.css" rel="stylesheet"/>
</head>
<body>
    <h1>Informe de ventas</h1>
    <p class="azuloscuro">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    <ul>
        <li>Ampliación oficinas</li>
        <li>Mayores comisiones</li>
        <li>Nuevos vendedores</li>
    </ul>
    <table >
        <thead>
        <tr>
            <th>Localidad</th>
            <th>Departamento</th>
            <th>Total</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td rowspan="2">Barcelona</td>
            <td>Muebles</td>
            <td>100</td>
        </tr>
        <tr>
            <td>Electrodomésticos</td>
            <td>200</td>
        </tr>
        <tr>
            <td>Tarragona</td>
            <td>Muebles</td>
            <td>50</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <td colspan="2">Total</td>
            <td>350</td>
        </tr>
    </tfoot>
    </table>
</body>
</html>
h1{
    color: green;
}

.azuloscuro{
    color:#010157;
}
li{
    color:red;
}

th, td {
    border-bottom: 1px solid #ddd;
  }

HTML

Tutoriales básicos:
https://html.com/
https://www.w3schools.com/html/
https://www.internetingishard.com/
https://www.tutorialrepublic.com/html-tutorial/
Free code camp

Tabla elementos:
https://allthetags.com/

Avanzado:
https://trifulcas.com/html-avanzado/
https://markodenic.com/html-tips/

Head:
https://github.com/alvaroadlf/HEAD

Layout:
https://designshack.net/articles/layouts/10-rock-solid-website-layout-examples/

Estilo de escritura:
https://jakearchibald.com/2023/against-self-closing-tags-in-html/
https://css-tricks.com/write-html-the-html-way-not-the-xhtml-way/