Đăng nhập
Latest topics
» Tôi sẽ đỗ đại học!by NgocPRO 6/11/2024, 8:37 am
» Kỷ niệm xưa của chúng ta
by nightWalker 9/2/2024, 6:49 pm
» Bị lệch khung cần người giúp đỡ
by webhuy28 7/10/2021, 10:34 pm
» [HỎI ĐÁP] Danh sách bạn bè không thể hiển thị
by anhdaodaica1 2/10/2021, 10:04 pm
» [HỎI ĐÁP] Thông tin tài khoản không thể lưu thay đổi
by anhdaodaica1 2/10/2021, 6:05 am
» Phim bố già full
by huy.pc52 24/8/2021, 12:20 am
» Xin code Box HTML cho Forumvi
by Larva 1/7/2021, 12:57 pm
» Hello Anh Em Chinh phục
by HoàngTửNaivip5p 28/5/2021, 5:03 am
» Trang chủ tin tức cập nhật HOT 2016
by kenbi05 1/1/2020, 11:02 pm
» Không Dang9 bài viết = hình ảnh được
by huy.pc52 30/11/2019, 10:52 am
» CHÚC ANH EM NĂM MỚI VUI VẺ TRÀNG ĐẦY HẠNH PHÚC
by sps.kủn 12/2/2019, 1:16 pm
» Skin CNTT-K3 2015 (Full Mod)[✔]
by kenbi05 6/7/2018, 12:30 am
» baivong, handsome,....
by sps.kủn 29/6/2018, 1:54 pm
» [SHARE] SKIN ĐHFM.V7 @PUNBB
by tonyhoaivu 2/5/2018, 2:37 pm
» Share Skin Xanh Dương Cùi Bắp
by tonyhoaivu 28/4/2018, 5:57 pm
» Xin Skin http://v1.hotrofm.net/
by tonyhoaivu 28/4/2018, 5:45 pm
» Xin Skin Rao Vặt
by tonyhoaivu 15/4/2018, 12:07 pm
» Làm Sao Để Xóa Khung Này
by tonyhoaivu 14/4/2018, 7:18 pm
» [Lập nhóm]Lập nhóm fm
by vietkanpy 31/3/2018, 11:53 am
» [Help] về server úp ảnh của phutu [✔]
by baivong 17/3/2018, 10:18 pm
» Đừng khóc cho “tôi – Chinh Phục!”…
by AnHung 27/2/2018, 5:33 pm
» [Share] Skin Diendandaihoc.com [ Punbb ] [✔]
by Lu Mờ 13/2/2018, 7:28 pm
» Mời mấy thím vào groups Forumotion Việt Nam.
by dang02315 13/2/2018, 12:40 am
» Có thể làm các kiểu giao diện được không?
by Lu Mờ 9/2/2018, 3:40 pm
» ltns chinhphuc.info
by Shinichi Kudo 27/1/2018, 2:27 am
Top posting users this week
No user |
Hướng dẫn tạo Menu Slide Down Box với jQuery và CSS3
2 posters
Trang 1 trong tổng số 1 trang
Hướng dẫn tạo Menu Slide Down Box với jQuery và CSS3
Bài này mới được dịch nhé
Trong bài viết này tôi sẽ hướng dẫn các bạn tạo ra một menu slide box cực kỳ độc đáo. Ý tưởng để tạo ra menu là “mỗi khi bạn rê chuột vào mỗi box menu thì lập tức nó sẽ trượt ra một mục menu con đồng thời sẽ xuất hiện một hình ảnh nhỏ với những hiệu ứng chuyển động mượt mà”. Ngoài ra, bạn cũng sẽ tạo cho các menu con trượt sang trái hoặc qua phải tùy vào vị trí của mục menu con mà người dùng ra chuột qua.
Demo online:
Bước 1: Xây dựng mã html
Đối với cấu trúc HTML, chúng ta sẽ sử dụng một danh sách không theo thứ
tự ( thẻ <ul>) để chứa các mục liên kết chính và một phần tử
<div> chứa các mục menu con.
Nếu không có mục menu con thẻ <div> có thể dễ dàng bị rời ra.
Khi mới bắt đầu, hình ảnh sẽ không hiển thị vậy nên chúng ta sẽ gán giá
trị chiều rộng và chiều cao của nó là bằng 0 trong CSS.
Bước 2: Khai báo CSS
Chúng ta sẽ bắt đầu khai báo CSS cho phần tử thẻ <ul> trước tiên:
Chúng ta sẽ loại bỏ các thuộc tính text-decoration và outline được khai báo mặc định trong các trình duyệt đối với tất cả các phần tử liên kết trong menu của chúng ta.
Mục menu của chúng ta sẽ được thả trôi về phía tay trái và có vị trí tương đối vì vậy chúng ta sẽ sử dụng thuộc tính position: absolutecho
các phần tử nằm bên trong. Nếu chúng ta không gán giá trị đó, các phần
tử con nằm bên trong sẽ được so sáng tương đối với toàn bộ trang dẫn
đến sẽ tạo ra kết quả không như chúng ta mong muốn.
Tiếp theo, chúng ta sẽ khai báo cho các phần tử liên kết chính nơi
chúng ta có hai phần mở rộng cho phần nội dung của mục menu con.
Chú ý thuộc tính z-index chúng ta dùng để xác định thứ tự cho tất cả các phần tử quan trọng luôn được nằm ở lớp trên cùng trong trang web.
Chúng ta sẽ sử dụng hiệu ứng như gương với một gradient bán trong
suốt. Khi bạn sử dụng một nền pattern (như pattern gỗ được sử dụng trong
bản demo) nó giúp làm cho hiệu ứng nhìn ấn tượng hơn. Hãy thử với các
mẫu pattern khác nhau mà bạn có – việc làm này có thể giúp cho bạn
chọn ra được mẫu pattern phù hợp với thiết kế của mình hơn !
Bạn cũng có thể thêm một ít hiệu ứng bóng đổ – thay đổi các giá trị 0px
0px 4px #000 bằng 2px 2px 6px #000 sẽ tạo ra được hiệu ứng đó.
Khai báo mã CSS cho các hình ảnh như dưới đây:
Chúng ta cần tạo thêm một hiệu ứng animation cho hình ảnh khi chúng
xuất hiện từ phía bên dưới đi lên, đó là lý do tại sao chúng ta phải
định vị trí của nó là tuyệt đối bằng cách sử dụng “đáy” như một điểm
tham chiếu. Chúng ta cũng sẽ thêm vào thuộc tính box-shadow.
Khai báo hai giá trị đầu tiên bằng 0, làm cho bóng trải đều xung quanh
hình ảnh. Chúng ta cũng sử dụng cách này cho các phần tử liên kết. Thuộc
tính box-shadow có thể được xem như là một thủ thuật nhỏ, bất cứ khi nào bạn muốn tạo ra một hiệu ứng đường viền nhẹ. Ưu điểm của thuộc tính box-shadow
là nó thực sự tạo được hiệu ứng bóng đổ như mong muốn – mà bạn không
cần phải cân nhắc tính toán đến chiều rộng hoặc chiều cao của các yếu tố
nằm bên trong. Nhưng không hay, hiện nay CSS3 chưa được hỗ trợ trong
trình duyệt IE.
Bây giờ đến phần khai báo CSS cho những vùng mở rộng bao quanh phần nội dung của mục menu con:
Nếu phần nội dung của mục menu con lớn hơn, bạn cần phải sửa lại cho phù
hợp với các giá trị này. Hãy chắc chắn rằng các giá trị được sửa lại
cũngphải phù hợp với các giá trị animation được khai báo trong mã
JavaScript.
Tiếp theo, chúng ta xác định hình dáng cho hộp màu xám được trượt
xuống. Chúng ta cung cấp cho nó một chiều cao là bằng 0 và vị trí của nó
đã được khai báo, vậy nên bây giờ chúng ta chỉ cần tăng chiều cao của
nó trong khai báo hiệu ứng animation.
Chúng ta tiếp tục khai báo mã CSS cho các vùng mở rộng và các liên kết trong các box:
Khai báo cho phần nội dung:
Mục menu con ban đầu sẽ được ẩn dưới các box màu xám. Sau đó chúng ta sẽ
cho nó di chuyển sang bên phải hoặc bên trái tùy thuộc vào nơi chúng
ta đang có. Trong bài hướng này tôi muốn khi ra chuột qua mục menu cuối
cùng nó sẽ trượt qua bên trái còn tất cả các mục menu khác thì khi ra
chuột qua nó đều sẽ trượt qua bên phải.
Liên kết đầu tiên trong mục menu con nên được khai báo giá trị margin-top:
Vậy là phần khai báo mã CSS đã hoàn thành, giai đoạn cuối cùng chúng ta
cần làm là thêm các mã javascript để tạo ra các hiệu ứng tuyệt vời.
Bước 3: Thêm mã javascript
Khi con trỏ chuột của chúng ta rà vào một thành phần của menu, hình ảnh sẽ được phóng to và các thành phần nằm trong hai class sdt_active và sdt_wrapsẽ hiển thị. Nếu phần tử con nào có class sdt_box
thì nó sẽ được trượt sang bên. Mục menu cuối sẽ được trượt sang bên
trái còn tất cả các mục menu còn lại sẽ đều sẽ trượt sang bên phải khi
rà chuột qua.
Và menu slide box xuất hiện ! Tôi hy vọng bạn thích hiệu ứng menu này và
hy vọng các bạn đã tìm hiểu được một điều gì đó hữu ích! P/S. Nó trông
sẽ cool hơn trong trình duyệt Google Chrome.
Trong bài viết này tôi sẽ hướng dẫn các bạn tạo ra một menu slide box cực kỳ độc đáo. Ý tưởng để tạo ra menu là “mỗi khi bạn rê chuột vào mỗi box menu thì lập tức nó sẽ trượt ra một mục menu con đồng thời sẽ xuất hiện một hình ảnh nhỏ với những hiệu ứng chuyển động mượt mà”. Ngoài ra, bạn cũng sẽ tạo cho các menu con trượt sang trái hoặc qua phải tùy vào vị trí của mục menu con mà người dùng ra chuột qua.
Demo online:
- Code:
http://tympanus.net/Tutorials/SlideDownBoxMenu/
Bước 1: Xây dựng mã html
Đối với cấu trúc HTML, chúng ta sẽ sử dụng một danh sách không theo thứ
tự ( thẻ <ul>) để chứa các mục liên kết chính và một phần tử
<div> chứa các mục menu con.
Nếu không có mục menu con thẻ <div> có thể dễ dàng bị rời ra.
Khi mới bắt đầu, hình ảnh sẽ không hiển thị vậy nên chúng ta sẽ gán giá
trị chiều rộng và chiều cao của nó là bằng 0 trong CSS.
Bước 2: Khai báo CSS
Chúng ta sẽ bắt đầu khai báo CSS cho phần tử thẻ <ul> trước tiên:
Chúng ta sẽ loại bỏ các thuộc tính text-decoration và outline được khai báo mặc định trong các trình duyệt đối với tất cả các phần tử liên kết trong menu của chúng ta.
Mục menu của chúng ta sẽ được thả trôi về phía tay trái và có vị trí tương đối vì vậy chúng ta sẽ sử dụng thuộc tính position: absolutecho
các phần tử nằm bên trong. Nếu chúng ta không gán giá trị đó, các phần
tử con nằm bên trong sẽ được so sáng tương đối với toàn bộ trang dẫn
đến sẽ tạo ra kết quả không như chúng ta mong muốn.
Tiếp theo, chúng ta sẽ khai báo cho các phần tử liên kết chính nơi
chúng ta có hai phần mở rộng cho phần nội dung của mục menu con.
Chú ý thuộc tính z-index chúng ta dùng để xác định thứ tự cho tất cả các phần tử quan trọng luôn được nằm ở lớp trên cùng trong trang web.
Chúng ta sẽ sử dụng hiệu ứng như gương với một gradient bán trong
suốt. Khi bạn sử dụng một nền pattern (như pattern gỗ được sử dụng trong
bản demo) nó giúp làm cho hiệu ứng nhìn ấn tượng hơn. Hãy thử với các
mẫu pattern khác nhau mà bạn có – việc làm này có thể giúp cho bạn
chọn ra được mẫu pattern phù hợp với thiết kế của mình hơn !
Bạn cũng có thể thêm một ít hiệu ứng bóng đổ – thay đổi các giá trị 0px
0px 4px #000 bằng 2px 2px 6px #000 sẽ tạo ra được hiệu ứng đó.
Khai báo mã CSS cho các hình ảnh như dưới đây:
Chúng ta cần tạo thêm một hiệu ứng animation cho hình ảnh khi chúng
xuất hiện từ phía bên dưới đi lên, đó là lý do tại sao chúng ta phải
định vị trí của nó là tuyệt đối bằng cách sử dụng “đáy” như một điểm
tham chiếu. Chúng ta cũng sẽ thêm vào thuộc tính box-shadow.
Khai báo hai giá trị đầu tiên bằng 0, làm cho bóng trải đều xung quanh
hình ảnh. Chúng ta cũng sử dụng cách này cho các phần tử liên kết. Thuộc
tính box-shadow có thể được xem như là một thủ thuật nhỏ, bất cứ khi nào bạn muốn tạo ra một hiệu ứng đường viền nhẹ. Ưu điểm của thuộc tính box-shadow
là nó thực sự tạo được hiệu ứng bóng đổ như mong muốn – mà bạn không
cần phải cân nhắc tính toán đến chiều rộng hoặc chiều cao của các yếu tố
nằm bên trong. Nhưng không hay, hiện nay CSS3 chưa được hỗ trợ trong
trình duyệt IE.
Bây giờ đến phần khai báo CSS cho những vùng mở rộng bao quanh phần nội dung của mục menu con:
Nếu phần nội dung của mục menu con lớn hơn, bạn cần phải sửa lại cho phù
hợp với các giá trị này. Hãy chắc chắn rằng các giá trị được sửa lại
cũngphải phù hợp với các giá trị animation được khai báo trong mã
JavaScript.
Tiếp theo, chúng ta xác định hình dáng cho hộp màu xám được trượt
xuống. Chúng ta cung cấp cho nó một chiều cao là bằng 0 và vị trí của nó
đã được khai báo, vậy nên bây giờ chúng ta chỉ cần tăng chiều cao của
nó trong khai báo hiệu ứng animation.
Chúng ta tiếp tục khai báo mã CSS cho các vùng mở rộng và các liên kết trong các box:
Khai báo cho phần nội dung:
Mục menu con ban đầu sẽ được ẩn dưới các box màu xám. Sau đó chúng ta sẽ
cho nó di chuyển sang bên phải hoặc bên trái tùy thuộc vào nơi chúng
ta đang có. Trong bài hướng này tôi muốn khi ra chuột qua mục menu cuối
cùng nó sẽ trượt qua bên trái còn tất cả các mục menu khác thì khi ra
chuột qua nó đều sẽ trượt qua bên phải.
Liên kết đầu tiên trong mục menu con nên được khai báo giá trị margin-top:
Vậy là phần khai báo mã CSS đã hoàn thành, giai đoạn cuối cùng chúng ta
cần làm là thêm các mã javascript để tạo ra các hiệu ứng tuyệt vời.
Bước 3: Thêm mã javascript
Khi con trỏ chuột của chúng ta rà vào một thành phần của menu, hình ảnh sẽ được phóng to và các thành phần nằm trong hai class sdt_active và sdt_wrapsẽ hiển thị. Nếu phần tử con nào có class sdt_box
thì nó sẽ được trượt sang bên. Mục menu cuối sẽ được trượt sang bên
trái còn tất cả các mục menu còn lại sẽ đều sẽ trượt sang bên phải khi
rà chuột qua.
Và menu slide box xuất hiện ! Tôi hy vọng bạn thích hiệu ứng menu này và
hy vọng các bạn đã tìm hiểu được một điều gì đó hữu ích! P/S. Nó trông
sẽ cool hơn trong trình duyệt Google Chrome.
Theo Tympanus
Similar topics
» [jQuery] Trình diễn Hot Topic dạng Slide
» Miễn phí Dropdown Menu style giống Apple sử dụng CSS3.
» Lá cờ Tổ quốc với CSS3
» Share Code menu Nhanh Nhiều Tiện Ích - Menu trái
» [TUT] Icon riêng cho từng box bằng CSS3 cho PunBb và PhpBB2[✔]
» Miễn phí Dropdown Menu style giống Apple sử dụng CSS3.
» Lá cờ Tổ quốc với CSS3
» Share Code menu Nhanh Nhiều Tiện Ích - Menu trái
» [TUT] Icon riêng cho từng box bằng CSS3 cho PunBb và PhpBB2[✔]
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết