Usar estilo CSS en PHP

Habdul Hazeez 20 junio 2023
  1. Use CSS en un archivo solo de PHP
  2. Usar CSS en un archivo PHP+HTML
  3. Use CSS en línea en las declaraciones echo de PHP
Usar estilo CSS en PHP

Este artículo te enseñará tres métodos que te ayudarán a usar estilos CSS en PHP.

El primer método es a través de un archivo solo de PHP, y el segundo es incrustar PHP en un archivo HTML+CSS. Luego, el tercer método usará CSS en línea en las declaraciones echo de PHP.

Use CSS en un archivo solo de PHP

Un archivo HTML estándar puede incrustar estilos CSS en el elemento <head> o enlazar a un archivo CSS externo. Por defecto, este archivo CSS tendrá la extensión css, pero también puede tener la extensión php.

Esto significa que puede escribir código CSS, guardarlo como un archivo PHP y vincularlo a su HTML. En este archivo PHP, puede hacer más de lo que haría en un archivo CSS; puedes escribir código PHP.

Primero, puede definir un bloque de código PHP con propiedad CSS y valores almacenados como variables. Luego, fuera del bloque de PHP, puede escribir CSS normal que usará las variables como valores de las propiedades de CSS.

Lo hemos hecho a continuación; guárdalo como styles.php.

<?php
    // The "header" is the most important part of
    // this code. Without it, it will not work.
    header("Content-type: text/css");

    $font_family = 'Trebuchet MS, Verdana, Helvetica';
    $font_size = '1.2em';
    $background_color = '#000000';
    $font_color = '#ffffff';

    // Close the PHP code block.
?>
body {
    background-color: <?php echo $background_color; ?>;
    color: <?php echo $font_color; ?>;
    font-size: <?php echo $font_size; ?>;
    font-family: <?php echo $font_family; ?>;
}

Guarde el siguiente HTML y asegúrese de haber vinculado styles.php en la etiqueta <link>.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Webpage using CSS styles generated with PHP</title>
    <!-- Link styles.php as the CSS file -->
    <link rel="stylesheet" type="text/css" href="styles.php">
</head>
<body>
    <h1>Hello, We styled this page using CSS in a PHP file!</h1>
    <h1>How cool is that?</h1>
</body>
</html>

Producción:

Página web diseñada con CSS en PHP

Usar CSS en un archivo PHP+HTML

HTML puede usar CSS a través de la etiqueta <estilo> o la etiqueta <enlace>, que puede contener PHP en un bloque PHP dedicado. Si el código PHP genera o manipula código HTML, el código CSS vinculado puede diseñar el HTML.

Por ejemplo, puede diseñar la tabla usando CSS si PHP extrae registros de la base de datos para crear una tabla HTML. Para mostrar cómo hacer esto, cree una base de datos llamada mi_sitio web en MySQL.

A continuación, cree una tabla site_users en my_website usando las siguientes consultas.

CREATE TABLE site_users (
user_id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
PRIMARY KEY (user_id)) ENGINE = InnoDB;

Inserte datos en la tabla site_users.

INSERT INTO site_users (username, email) VALUES ('user_1', 'user_1@gmail.com');
INSERT INTO site_users (username, email) VALUES ('user_2', 'user_2@gmail.com');
INSERT INTO site_users (username, email) VALUES ('user_3', 'user_3@gmail.com');

Ahora, a continuación, tenemos HTML, PHP y CSS. El CSS está en el elemento <head>; el PHP está en un bloque de PHP dentro del HTML.

El PHP crea una tabla HTML usando registros de la tabla site_users. Cuando el PHP genera la tabla, el CSS le dará estilo.

<!doctype html>
<head>
    <meta charset="utf-8">
    <title>Style MySQL table with CSS</title>
    <style>
        /* This CSS will style the table generated by PHP. */
        table { border-collapse: collapse; width: 30em; font-size: 1.2em; }
        table, th, td { border: 2px solid #1a1a1a; }
        td,th { padding: 0.5em; }
        /* Create a striped table. */
        tr:nth-child(even) { background-color: #f2f2f2; }
        /* General body styles. */
        body { display: grid; justify-content: center; align-items: center; height: 100vh; }
    </style>
</head>
<body>
    <main>
        <!--
            We generated this table using PHP, and the CSS
            style in the <style> tag will apply to it.
            This is another way to use CSS in PHP.
        -->
        <?php
            // Connect to the database. Change the connection
            /// settings based on your environment.
            $connect_to_mysql = new mysqli("localhost", "root", "", "my_website");
            // Select the data from the site_users table.
            $site_users = $connect_to_mysql->query("SELECT * FROM site_users")->fetch_all(MYSQLI_ASSOC);
            // Get keys from the first row.
            $table_header = array_keys(reset($site_users));
            // Print the table.
            echo "<table>";
            // Print the table headers.
            echo "<tr>";
            foreach ($table_header as $value) {
                echo "<th align='left'>" . $value . "</th>";
            }
             echo "</tr>";
            // Print the table rows
            foreach ($site_users as $row) {
                echo "<tr>";
                foreach ($row as $value) {
                    if (is_null($value)) {
                        echo "<td>NULL</td>";
                    } else {
                        echo "<td>" . $value . "</td>";
                    }
                }
                echo "</tr>";
            }
            echo "</table>";
        ?>
    </main>
</body>

Producción:

Tabla PHP diseñada con CSS

Use CSS en línea en las declaraciones echo de PHP

PHP funciona bien con HTML y tiene la instrucción echo que puede enviar HTML con CSS en línea al navegador web. Esto es útil al depurar o enviar grandes fragmentos de HTML al navegador web.

A continuación se muestra cómo usar CSS en línea con PHP echo. Definimos el texto y almacenamos tres colores en el $colors_array.

Luego usamos foreach para recorrer el $colors_array, y establecemos el elemento de la matriz como el valor del CSS en línea. Cuando ejecuta el código, el texto aparece tres veces con diferentes colores.

<?php
    $sample_text = "We generated this text color using inline CSS in PHP.";

    $colors_array = ['red', 'green', 'blue'];

    foreach ($colors_array as $value) {
        // Use inline CSS with PHP echo.
        echo "<p style='color: $value'>" . $sample_text . "</p>";
    }
?>

Producción:

Un texto con estilo usando rojo, verde y azul

Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn