HTML
HTML5
CANVAS
HEADING TAGS
FORM TAGS
LIST TAGS
PARAGRAPH TAGS
p br pre
COMMON TAGS
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Tạo Trang web E-commerce từ HTML & CSS

Chào bạn, hôm nay chúng ta sẽ khám phá cách thiết kế trang web E-commerce hiện đại bằng HTML và CSS.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong hướng dẫn này, chúng ta sẽ tạo tiêu đề và đầu trang, banner ấn tượng, danh mục sản phẩm và hiển thị sản phẩm nổi bật. Chúng ta cũng sẽ xây dựng chức năng tìm kiếm, giỏ hàng và chân trang để mang đến trải nghiệm mua sắm chuyên nghiệp. Hãy cùng tìm hiểu nhé!

Tiêu đề và header

Dưới đây là một ví dụ về cách tạo tiêu đề và đầu trang của trang web E-commerce bằng HTML và CSS:

HTML:

Bài viết này được đăng tại [free tuts .net]

<header>
  <div class="logo">
    <img src="logo.png" alt="Logo" />
    <h1>Trang web E-commerce</h1>
  </div>
  <nav>
    <ul>
      <li><a href="#">Trang chủ</a></li>
      <li><a href="#">Sản phẩm</a></li>
      <li><a href="#">Giỏ hàng</a></li>
      <li><a href="#">Liên hệ</a></li>
    </ul>
  </nav>
</header>

CSS:

header {
  background-color: #f5f5f5;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo img {
  height: 50px;
}

.logo h1 {
  margin-left: 10px;
  font-size: 24px;
}

nav ul {
  list-style-type: none;
  display: flex;
}

nav ul li {
  margin-left: 20px;
}

nav ul li a {
  text-decoration: none;
  color: #333;
  font-weight: bold;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <header> để bao gồm phần đầu trang. Trong phần đầu trang, chúng ta tạo một <div> chứa logo và tiêu đề của trang web. Sử dụng thẻ <img> để hiển thị logo và thẻ <h1> để hiển thị tiêu đề.

Sau đó, chúng ta sử dụng thẻ <nav> để tạo thanh điều hướng. Trong thanh điều hướng, chúng ta tạo một danh sách không có dấu chấm bằng thẻ <ul>. Mỗi mục trong danh sách được tạo bằng thẻ <li>, và chúng ta sử dụng thẻ <a> để tạo các liên kết đến các trang khác của trang web.

Cuối cùng, chúng ta sử dụng CSS để tạo giao diện cho phần đầu trang. Chúng ta cung cấp một số kiểu cho các phần tử như background-color, padding, font-size, và margin để làm cho đầu trang trở nên hấp dẫn và dễ đọc.

z4413866842185 fe3680191b5747135a64f13b3306346b jpg

Phần banner

Sử dụng một hình ảnh hoặc một carousel để tạo phần banner thu hút sự chú ý. Thêm tiêu đề và mô tả ngắn gọn để giới thiệu về trang web E-commerce của bạn.

HTML:

<section class="banner">
  <div class="banner-content">
    <h2>Chào mừng đến với Trang web E-commerce</h2>
    <p>Mua sắm trực tuyến với hàng ngàn sản phẩm đa dạng và chất lượng.</p>
    <a href="#" class="btn">Bắt đầu mua sắm</a>
  </div>
</section>

CSS:

.banner {
  background-image: url('banner.jpg');
  background-size: cover;
  background-position: center;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.banner-content {
  text-align: center;
  color: #fff;
}

.banner-content h2 {
  font-size: 36px;
  margin-bottom: 20px;
}

.banner-content p {
  font-size: 18px;
  margin-bottom: 30px;
}

.btn {
  display: inline-block;
  padding: 10px 20px;
  background-color: #ff5e15;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <section> với class "banner" để tạo phần banner. Chúng ta sử dụng thuộc tính background-image để đặt hình ảnh nền của banner background-size: cover để đảm bảo hình ảnh nền được điều chỉnh tỷ lệ đúng và không bị kéo dãn. Các thuộc tính height, display, align-items, và justify-content được sử dụng để căn giữa nội dung trong banner.

Trong phần banner-content, chúng ta sử dụng các thẻ <h2> và <p> để thêm tiêu đề và mô tả ngắn gọn. Thẻ <a> được sử dụng để tạo một nút "Bắt đầu mua sắm" với class "btn".

Cuối cùng, chúng ta sử dụng CSS để tạo giao diện cho phần banner. Chúng ta cung cấp các kiểu cho phần tử .banner và .banner-content để điều chỉnh kích thước, màu sắc và căn giữa nội dung. Các kiểu cho .banner-content h2, .banner-content p, và .btn được sử dụng để tạo kiểu cho các phần tử bên trong banner.

z4413879417139 2af8cdc2c2b56c73d7899159ad0ba6d6 jpg

Phần container

Danh mục sản phẩm

Tạo một danh sách các danh mục sản phẩm chính trên trang web. Sử dụng thẻ <ul> và <li> để tạo danh sách, và thẻ <a> để tạo các liên kết đến trang con của từng danh mục.

HTML:

<nav class="main-menu">
  <ul>
    <li><a href="#">Điện thoại di động</a></li>
    <li><a href="#">Máy tính bảng</a></li>
    <li><a href="#">Laptop</a></li>
    <li><a href="#">Phụ kiện</a></li>
  </ul>
</nav>

CSS:

.main-menu ul {
  list-style-type: none;
  display: flex;
  justify-content: center;
}

.main-menu ul li {
  margin: 0 10px;
}

.main-menu ul li a {
  text-decoration: none;
  color: #333;
  font-weight: bold;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <nav> với class "main-menu" để tạo danh sách các danh mục sản phẩm chính. Chúng ta sử dụng thẻ <ul> để tạo danh sách và thẻ <li> để tạo các mục danh mục.

Trong mỗi mục danh mục, chúng ta sử dụng thẻ <a> để tạo liên kết đến trang con của từng danh mục. Bạn có thể thay đổi liên kết "#" thành liên kết thực tế đến trang con tương ứng.

Cuối cùng, chúng ta sử dụng CSS để tạo giao diện cho danh mục sản phẩm. Chúng ta sử dụng các kiểu cho .main-menu ul để hiển thị danh sách theo kiểu dạng flex, và các kiểu cho .main-menu ul li .main-menu ul li a để tạo kiểu cho các mục danh mục và liên kết.

z4413843404707 cdfda8dd5adf3c1856830e48818cff76 jpg

Sản phẩm nổi bật

Hiển thị một số sản phẩm nổi bật hoặc các ưu đãi đặc biệt để thu hút người dùng. Sử dụng thẻ <div> để tạo ra một vùng hiển thị các sản phẩm, và sử dụng CSS để tạo giao diện hấp dẫn.

HTML:

<section class="featured-products">
  <h2>Sản phẩm nổi bật</h2>
  <div class="product-container">
    <div class="product-item">
      <img src="product1.jpg" alt="Sản phẩm 1" />
      <h3>Sản phẩm 1</h3>
      <p class="price">$99.99</p>
    </div>
    <div class="product-item">
      <img src="product2.jpg" alt="Sản phẩm 2" />
      <h3>Sản phẩm 2</h3>
      <p class="price">$49.99</p>
    </div>
    <div class="product-item">
      <img src="product3.jpg" alt="Sản phẩm 3" />
      <h3>Sản phẩm 3</h3>
      <p class="price">$79.99</p>
    </div>
  </div>
</section>

CSS:

.featured-products {
  text-align: center;
}

.featured-products h2 {
  font-size: 24px;
  margin-bottom: 20px;
}

.product-container {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.product-item {
  width: 200px;
}

.product-item img {
  width: 100%;
  height: auto;
}

.product-item h3 {
  font-size: 18px;
  margin: 10px 0;
}

.product-item .price {
  font-weight: bold;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <section> với class "featured-products" để tạo một phần hiển thị các sản phẩm nổi bật. Sử dụng thẻ <h2> để tạo tiêu đề cho phần này.

Trong phần sản phẩm, chúng ta sử dụng thẻ <div> với class "product-container" để tạo một vùng chứa các sản phẩm. Sử dụng thẻ <div> khác với class "product-item" để tạo từng sản phẩm. Trong mỗi sản phẩm, chúng ta sử dụng thẻ <img> để hiển thị hình ảnh sản phẩm, thẻ <h3> để hiển thị tên sản phẩm và thẻ <p> với class "price" để hiển thị giá sản phẩm.

CSS được sử dụng để tạo giao diện cho phần sản phẩm nổi bật. Chúng ta sử dụng các thuộc tính như text-align, display, justify-content, gap, width và height để căn giữa và điều chỉnh kích thước các phần tử.

z4413849959986 dfd9b3a888d4ba43cfa871187837b59f jpg

Danh sách sản phẩm

Xây dựng một danh sách sản phẩm chứa các mục sản phẩm chi tiết. Sử dụng CSS để tạo giao diện cho danh sách và mỗi mục sản phẩm.

HTML:

<section class="product-list">
  <h2>Danh sách sản phẩm</h2>
  <ul class="list-container">
    <li class="product-item">
      <img src="product1.jpg" alt="Sản phẩm 1" />
      <h3>Sản phẩm 1</h3>
      <p class="price">$99.99</p>
      <p>Mô tả sản phẩm 1...</p>
    </li>
    <li class="product-item">
      <img src="product2.jpg" alt="Sản phẩm 2" />
      <h3>Sản phẩm 2</h3>
      <p class="price">$49.99</p>
      <p>Mô tả sản phẩm 2...</p>
    </li>
    <li class="product-item">
      <img src="product3.jpg" alt="Sản phẩm 3" />
      <h3>Sản phẩm 3</h3>
      <p class="price">$79.99</p>
      <p>Mô tả sản phẩm 3...</p>
    </li>
  </ul>
</section>

CSS:

.product-list {
  text-align: center;
}

.product-list h2 {
  font-size: 24px;
  margin-bottom: 20px;
}

.list-container {
  list-style-type: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  padding: 0;
  margin: 0;
}

.product-item {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}

.product-item img {
  width: 100%;
  height: auto;
}

.product-item h3 {
  font-size: 18px;
  margin: 10px 0;
}

.product-item .price {
  font-weight: bold;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <section> với class "product-list" để tạo một phần danh sách sản phẩm. Sử dụng thẻ <h2> để tạo tiêu đề cho phần này.

Trong phần danh sách sản phẩm, chúng ta sử dụng thẻ <ul> với class "list-container" để tạo danh sách. Sử dụng thẻ <li> với class "product-item" để tạo từng mục sản phẩm. Trong mỗi mục sản phẩm, chúng ta sử dụng thẻ <img> để hiển thị hình ảnh sản phẩm, thẻ <h3> để hiển thị tên sản phẩm, thẻ <p> với class "price" để hiển thị giá sản phẩm và thẻ <p> khác để hiển thị mô tả sản phẩm.

CSS được sử dụng để tạo giao diện cho danh sách sản phẩm. Chúng ta sử dụng các thuộc tính như text-align, list-style-type, display, grid-template-columns, gap, padding margin để căn giữa và điều chỉnh kích thước các phần tử.

z4413853435645 a6e6125f72f454664058c7855c9a89cf jpg

Chức năng tìm kiếm

Thêm một ô tìm kiếm cho phép người dùng tìm kiếm sản phẩm theo từ khóa. Sử dụng <input> và <button> để tạo ô tìm kiếm và nút tìm kiếm.

HTML:

<section class="search-section">
  <h2>Tìm kiếm sản phẩm</h2>
  <div class="search-container">
    <input type="text" id="search-input" placeholder="Nhập từ khóa..." />
    <button id="search-button">Tìm kiếm</button>
  </div>
</section>

CSS:

.search-section {
  text-align: center;
}

.search-section h2 {
  font-size: 24px;
  margin-bottom: 20px;
}

.search-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

#search-input {
  width: 300px;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 5px 0 0 5px;
}

#search-button {
  padding: 10px 20px;
  background-color: #333;
  color: #fff;
  border: none;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
}

#search-button:hover {
  background-color: #555;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <section> với class "search-section" để tạo một phần tìm kiếm sản phẩm. Sử dụng thẻ <h2> để tạo tiêu đề cho phần này.

Trong phần tìm kiếm, chúng ta sử dụng thẻ <div> với class "search-container" để chứa ô tìm kiếm và nút tìm kiếm. Sử dụng thẻ <input> với id "search-input" để tạo ô tìm kiếm với placeholder là "Nhập từ khóa...". Sử dụng thẻ <button> với id "search-button" để tạo nút tìm kiếm.

CSS được sử dụng để tạo giao diện cho phần tìm kiếm. Chúng ta sử dụng các thuộc tính như text-align, display, justify-content, align-items, width, padding, border, border-radius, background-color, color và cursor để căn giữa, điều chỉnh kích thước và tạo kiểu cho ô tìm kiếm và nút tìm kiếm.

z4413855677060 72f7bf26807e9f292a70e76124c1924e jpg

Giỏ hàng

Hiển thị thông tin về giỏ hàng của người dùng, bao gồm số lượng sản phẩm và tổng tiền. Sử dụng một biểu tượng giỏ hàng và tạo liên kết tới trang giỏ hàng.

HTML:

<header>
  <div class="logo">
    <!-- Đặt logo của bạn ở đây -->
  </div>
  <div class="cart">
    <a href="giohang.html">
      <i class="fas fa-shopping-cart"></i>
      <span class="cart-count">3</span>
    </a>
  </div>
</header>

CSS:

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.logo {
  /* Căn chỉnh và tùy chỉnh kích thước của logo */
}

.cart {
  position: relative;
}

.fa-shopping-cart {
  font-size: 24px;
}

.cart-count {
  position: absolute;
  top: -5px;
  right: -5px;
  background-color: red;
  color: white;
  font-size: 12px;
  padding: 2px 6px;
  border-radius: 50%;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <header> để tạo phần đầu trang chứa logo và giỏ hàng. Trong phần giỏ hàng, chúng ta sử dụng thẻ <div> với class "cart" và sử dụng thẻ <a> với href "giohang.html" để tạo liên kết tới trang giỏ hàng.

Trong phần giỏ hàng, chúng ta sử dụng biểu tượng giỏ hàng bằng cách sử dụng class "fas fa-shopping-cart" từ thư viện Font Awesome. Chúng ta cũng sử dụng thẻ <span> với class "cart-count" để hiển thị số lượng sản phẩm trong giỏ hàng.

CSS được sử dụng để tạo giao diện cho phần giỏ hàng. Chúng ta sử dụng các thuộc tính như display, justify-content, align-items, padding, position, top, right, background-color, color, font-size, padding và border-radius để căn giữa, điều chỉnh kích thước và tạo kiểu cho phần giỏ hàng và biểu tượng giỏ hàng.

Footer

Sử dụng thẻ <footer> để tạo chân trang. Bao gồm thông tin liên hệ, các liên kết tới trang thông tin, chính sách và các liên kết xã hội.

HTML:

<footer>
  <div class="footer-container">
    <div class="contact-info">
      <h3>Thông tin liên hệ</h3>
      <p>Email: contact@example.com</p>
      <p>Điện thoại: 0123456789</p>
      <p>Địa chỉ: 123 Đường ABC, Thành phố XYZ</p>
    </div>
    <div class="footer-links">
      <h3>Thông tin</h3>
      <ul>
        <li><a href="#">Về chúng tôi</a></li>
        <li><a href="#">Chính sách</a></li>
        <li><a href="#">Điều khoản và điều kiện</a></li>
      </ul>
    </div>
    <div class="social-links">
      <h3>Kết nối xã hội</h3>
      <ul>
        <li><a href="#"><i class="fab fa-facebook"></i></a></li>
        <li><a href="#"><i class="fab fa-twitter"></i></a></li>
        <li><a href="#"><i class="fab fa-instagram"></i></a></li>
      </ul>
    </div>
  </div>
</footer>

CSS:

footer {
  background-color: #f2f2f2;
  padding: 20px 0;
  text-align: center;
}

.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.contact-info,
.footer-links,
.social-links {
  flex: 1;
}

h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

p,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

ul li {
  margin-bottom: 5px;
}

ul li a {
  color: #333;
  text-decoration: none;
}

.fa-facebook,
.fa-twitter,
.fa-instagram {
  font-size: 20px;
  color: #333;
  margin-right: 10px;
}

Trong ví dụ trên, chúng ta sử dụng thẻ <footer> để tạo chân trang của trang web. Chân trang bao gồm ba phần chính:

  • Phần thông tin liên hệ (contact-info) hiển thị địa chỉ email, số điện thoại và địa chỉ của trang web.
  • Phần các liên kết thông tin (footer-links) chứa các liên kết tới các trang thông tin, chính sách và điều khoản và điều kiện.
  • Phần các liên kết xã hội (social-links) chứa các biểu tượng của các mạng xã hội như Facebook, Twitter và Instagram.

CSS được sử dụng để tạo giao diện cho chân trang. Chúng ta sử dụng các thuộc tính như background-color, padding, text-align, max-width, margin, display, justify-content, align-items, font-size, margin-bottom, color và text-decoration để căn giữa, điều chỉnh kích thước và tạo kiểu cho chân trang và các phần tử bên trong.

z4413864430808 464ac2133b0fea787292c36cb54c0fe1 jpg

Kết bài viết

Với những kiến thức và ví dụ trong bài viết này, hy vọng bạn đã hiểu rõ cách xây dựng một trang web E-commerce hiện đại bằng HTML và CSS. Hãy sử dụng sự sáng tạo và khả năng tùy chỉnh của mình để xây dựng một trang web E-commerce đẹp mắt và chuyên nghiệp để thu hút và phục vụ khách hàng của mình. Chúc bạn thành công!

Cùng chuyên mục:

Validate form bằng HTML5

Validate form bằng HTML5

Trước đây chúng ta hay validate form bằng Javascript, nhưng ...

Thẻ aside trong HTML5

Thẻ aside trong HTML5

Mình cũng không rõ người ta tạo ra thẻ này làm gì, nhưng nếu xét…

Thẻ hgroup trong HTML5

Thẻ hgroup trong HTML5

hgroup là một thẻ được thêm vào kể từ phiên bản ...

Thẻ header trong HTML5

Thẻ header trong HTML5

Nếu nhìn qua một trang web được xây dựng bằng HTML5 thì bạn ...

Các thẻ HTML tạo form thu thập dữ liệu

Các thẻ HTML tạo form thu thập dữ liệu

Trước khi bắt đầu thì bạn phải hiểu khái niệm form dữ liệu là ...

Tạo background và đường viền cho thẻ HTML

Tạo background và đường viền cho thẻ HTML

Để tạo màu nền cho một thẻ HTML bất kì thì ta sử dụng thuộc…

Tạo menu một cấp bằng HTML đơn giản

Tạo menu một cấp bằng HTML đơn giản

Để làm menu 1 cấp thì có rất nhiều giải pháp. Bạn có thể sử…

Tạo HTML danh sách bài viết đơn giản

Tạo HTML danh sách bài viết đơn giản

Mục đích mình đưa ra bài tập này là giúp các bạn hiểu được cách…

Tạo bổ cục layout HTML đơn giản

Tạo bổ cục layout HTML đơn giản

Qua bài học này bạn sẽ biết cách tạo một file style riêng để ..

Phân biệt ID và Class trong HTML

Phân biệt ID và Class trong HTML

Mỗi thẻ HTML đều có những thuộc tính riêng và khác nhau. Tuy nhiền ..

Cách dùng thẻ div trong HTML để tạo các khối giao diện

Cách dùng thẻ div trong HTML để tạo các khối giao diện

Thẻ div đóng vai trò rất quan trọng, nó được dùng để tạo ...

Phân biệt thẻ HTML Block và Inline

Phân biệt thẻ HTML Block và Inline

Có bao giờ bạn thắc mắc rằng, tại sao nội dung ...

Thuộc tính style trong HTML

Thuộc tính style trong HTML

Do chúng ta chưa học CSS nên mình sẽ không nói ...

Thẻ title trong HTML

Thẻ title trong HTML

Cách sử dụng thẻ title html ...

Thẻ style trong HTML

Thẻ style trong HTML

Style là một thẻ HTML bình thường, nó có công dụng là xác ...

Thẻ base trong HTML

Thẻ base trong HTML

Cách sử dụng thẻ base trong html ...

Thẻ link trong HTML

Thẻ link trong HTML

Cách sử dụng thẻ html ...

Thẻ meta trong HTML

Thẻ meta trong HTML

Cách sử dụng thẻ meta html ...

Thẻ script trong HTML

Thẻ script trong HTML

Cách sử dụng thẻ script html ...

Thẻ noscript trong HTML

Thẻ noscript trong HTML

Cách sử dụng thẻ noscript html ...

Top