Chọn Menu

Slider

FunFeed

Feed Mới Nhất

Cung Hoàng Đạo

CrazyFeed

Slider

Videos

» » » Hướng dẫn cắt layout từ psd với bootstrap- Part 1 : Header
«
Bài trước
Newer Post
»
Bài sau
Older Post


Chuẩn bị :
Dreamwaver cs6
Cấu hình các thứ cần thiết trước khi bắt đầu làm.
File psd cần cắt tải tại đây : http://adf.ly/sl46i
 Nếu ai chưa cắt thì tải về các file hình mình đã cắt tại đây: http://adf.ly/sl4GS

Nhận định giao diện mà chúng ta cần cắt ở đây có 3 phần :

Header: gồm 5 cột.
Main: gồm 2 cột.
Footer: gồm 5 cột.

Đến với header:

 Phần background(bg -> phần hình nền) header bao trùm toàn bộ website giống như là 1 phần của thẻ body trong website, chính vì vậy chúng ta không được khai báo phần header trong class : container .Lý do rất đơn giản , trong bootstrap đã mặc định class container sẽ tự động canh giữa của website, nếu chúng ta đặt vào trong container thì phần bg sẽ nhảy vào trong giữa như hình :

Mình sẽ nói rõ hơn về các class và cấu trúc của bootstrap vào 1 bài chi tiết, ở đây mình chỉ giải thích sơ qua về cấu trúc mà mình sử dụng trong temp này.
Tạo 1 file có tên là index.php trong thư mục website của bạn, nhúng các file cần thiết vào.
Khai báo mặc định trong trang index giữ nguyên, ta được cấu trúc như sau:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Nhà hàng</title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<link rel="stylesheet" type="text/css" href="css/font-awesome.min.css"/>
</head>

<body>
</body>
</html>
Khai báo 3 tag div cần thiết cho 1 trang web:
<div id=”header”></div>
<div id=”main”></div>
<div id=”footer”></div>
Chúng ta được cấu trúc cho phần body như sau :
<div id="header" class="row">
<div id=”main” class="container">
            <div class="col-lg-3">left</div>
             <div class="col-lg-9">right</div>
</div>
<div id=”footer” class=”row”></div>
</body>

Giải thích :

Class row có tác dụng gì trong các tag div này ?
Class row khai báo 1 thuộc tính cho div đó là 1 hàng , nghĩa là tất cả những div con hay tag con trong div chứa class này đều nằm trong một hàng và các thuộc tính còn kế thừa cho các tag khác như float, border .v..v sẽ bị triệt tiêu khi vươt quá ngoài div chứa class này.
Đơn giản nó là khai báo 1 hàng dành cho riêng div này.
Class container : khai báo kích thước cho div và có giá trị mặc định tùy thuộc vào kích thước màn hình bạn sử dụng, và thuộc tính mặc dịnh của các div này sẽ canh giữa website.

Class col-lg-1 à col-lg-12 : khai báo tag div đó chiếm bao nhiêu cột trong 1 row mà  bạn đã khai báo.
Mặc định theo thứ tự để có được 1 kết cấu hoàn hảo là từ container -> row -> col-lg
Ví dụ:
<div class=”container”>
            <div class=”row”>
                        <div class=”col-lg-6”></div>
                        <div class=”col-lg-6”></div>
            </div>
</div>

Quay lại phần header, chúng ta có 5 phần cần hiển thị trong header, khai báo cho các thành phần này là 1 tag div có class như sau

<div id="header" class="row">
<div id="header-top" class="row">
                        <div class="col-lg-2">1-888-123-4567</div>
                        <div class="col-lg-4">Free Ground Shipping for Products over $100</div>
                        <div class="col-lg-2">Social</div>
                        <div class="col-lg-2">My account</div>
                        <div id="btn-cart" class="col-lg-2 btn btn-default">
                                     <a href="" class="btn" >Shop</a>
                                    <a href="" class="btn" >0.00$</a>
                        </div>
            </div>
</div

Tại sao chúng ta phải khai báo thêm 1 div có id là “header-top” nhìn vào hình bạn sẽ thấy phần header có 2 thành phần là header-top và header.

Bạn cứ tưởng tượng phần header-top chiếm ¼ chiều cao header nằm chồng lên phần header do đó chúng ta sẽ thấy được phần nền của header còn dư ra.



Giải thích:
Class btn : khai báo div là 1 button.
Class btn-default : khai báo cho 1  tag có thuộc tính là button có đường viền mặc định, nếu bạn muốn khai báo là 1 button thì trước đó bạn phải khai báo thêm class btn . ví dụ :
 <a href=”” class=”btn btn-default”>
Sau khi code như trên,test thử bạn sẽ thấy phần header chữ luôn canh lề trái, mặc dù cho bạn có khai báo bất cứ thuộc tính nào ghi đè lên vẫn không có tác dụng.
Lúc này bạn phải sử dụng đến class container : code như sau
<div id="header" class="row">
<div id="header-top" class="row">
       <div class="container">
                        <div class="col-lg-2">1-888-123-4567</div>
                        <div class="col-lg-4">Free Ground Shipping for Products over $100</div>
                        <div class="col-lg-2">Social</div>
                        <div class="col-lg-2">My account</div>
                        <div id="btn-cart" class="col-lg-2 btn btn-default">
                                     <a href="" class="btn" >Shop</a>
                                    <a href="" class="btn" >0.00$</a>
                        </div>
                     </div>
            </div>
</div

Giải thích: 

do class container bao toàn bộ các thành phần text trong header nên chỉ các thành phần này bị ảnh hưởng của class container à canh giữa được các thành phần này;


Đến đây thì đã gần hoàn tất phần header.
Các button mạng xã hội các bạn có thể tham khảo các image trên mạng hoặc sử dụng font http://fontawesome.io/ như mình đang sử dụng. Sẽ có 1 bài viết hướng dẫn các bạn sữ dụng các font này.

Khai báo css cho các thuộc tính này như sau:
Trong file style.css các bạn nhúng vào index.php các bạn code như sau:

@import url("bootstrap.min.css");
body{
            margin:auto;
}
#header{
            background-image:url(../image/head_bg.png); /* Đường dẫn hình nền của header */
            background-size:cover; /* tự co giãn kích thước phù hợp */
}
#header-top{
            padding-top:2px;
            background-image:url(../image/header_bg.png);
            background-size:cover;
            background-repeat:no-repeat;
            padding-bottom:10px;
}
Trong phần header phía dưới tag header-top chúng ta khai báo như sau :
<div id="main" class="container">
                    <div class="col-lg-2"><img src="image/logo.png" width="116" height="117" /></div>
        <div class="col-lg-8">Menu </div>
                     <div class="col-lg-2">Sign-up</div>
    </div>

Cuối cùng chúng ta được 1 cấu trúc hoàn chỉnh như file sau:


Còn phần định dạng cho giống hoàn toàn với file mẫu thì bạn vui lòng tự css để nâng cao tay nghề nhé.


«
Bài trước
Newer Post
»
Bài sau
Older Post