DEVELOPER TRAINING

  • Trang chủ
  • Khóa học
  • Tutorials
    • React Native
  • Đăng ký
  • Tài liệu
    • Thường thức iPhone
    • Mạng xã hội , Social Network
    • Android, ios, Windows phone, Blackberry
    • CRM
    • ERP
    • Joomla, Wordpress, Drupal...
    • Codeigniter, Zend, Phalcon...
    • Magento, Prestashop, opencart ...
    • Tài liệu khác
  • Tuyển dụng
    • Tìm người cùng khởi nghiệp
    • Tuyển thực tập lập trình
  • Chuyển đổi số
    • Chuyển đổi số
    • Kinh tế số
    • Kinh tế chia sẻ
    • Fintech
    • Mạng xã hội
    • insurtech
    • Bất động sản 4.0

Magento, Prestashop, opencart ...

Tài liệu

8 hàm CSS siêu hay

  • Print

CSS có sức mạnh đáng sợ hơn chúng ta nghĩ. Và món ngôn ngữ style sheet này vẫn đang trên đà phát triển mạnh mẽ qua mỗi năm, mang đến nhiều tính năng tuyệt vời cho trình duyệt.

1. Pure CSS Tooltips

Rất nhiều website hiện vẫn đang sử dụng JavaScript để tạo tooltips, và phức tạp hơn nhiều so với CSS. Giải pháp đơn giản nhất, ta chỉ việc lồng tooltip text vào data attribute trong HTML code, ví dụ như data-tooltip="…". Với markup như vậy, bạn có thể tiếp tục hiển thị tooltip text trong hàm attr() với đoạn code sau:

1
2
3
4
5
 
. tooltip :: after {
   content : attr ( data - tooltip ) ;
}
 

Để chỉnh style của tooltip, bạn hiển nhiên cần nhiều code hơn một chút. Nếu bạn không biết phải làm gì, Hint.css là một thư viện rất hay để bạn thỏa sức vọc vạch.

2. Tận(/lạm) dụng Custom Data Attributes và hàm attr()

Hàm attr(), bên cạnh ứng dụng vào tootips, ta còn có thể xây dựng thumbnail có tittle và description để kết hợp với data attributes. Bạn chỉ cần một dòng HTML code sau:

1
2
3
4
5
 
< a class = "caption" href = "#" data - title = "Vulture" data - description = "..." >
   < img src = "img.jpg" alt = "Illustration" / >
< / a >
 

Đến đây bạn có thể dùng hàm attr() để hiển thị tittle và description:

1
2
3
4
5
6
 
. caption :: after {
   content : attr ( data - title ) ;
     . . .
}
 

Sau đây là thumbnail ví dụ với captions động hiển thị khi rơ chuột:

See the Pen Thumbnail with Animated Captions by SitePoint (@SitePoint) on CodePen.


Lưu ý: Những thumbnail này đôi khi cũng xuất hiện sự cố truy cập.

3. CSS Counters

Đây không phải là tính năng nổi tiếng nhất của CSS, và nhiều người nghĩ rằng CSS counter không được hỗ trợ mạnh mẽ như những tính năng khác. Nhưng sự thật hoàn toàn ngược lại, với CSS Counters, bạn có thể làm được đủ thứ “màu nhiệm” trên hầu hết trình duyệt.

Thống kê: http://caniuse.com/#feat=forms

Tuy CSS counter không hợp với danh sách theo thứ tự (<ol>) cho lắm, nhưng lại hoàn hảo nếu bạn muốn đánh dấu trang hay hiển thị số dưới các đầu mục trong gallery. Bạn còn có thể đếm số đầu mục đã check, khá ấn tượng với số code ít ỏi mà bạn cần động đến (và không cần cả JavaScript):

See the Pen Selection CSS Counter by Will Boyd (@lonekorean) on CodePen.

CSS cũng có thể được áp dụng với loạt số thay đổi liên tục trong list item, các items có thể được sắp xếp lại bằng cách kéo thả:

See the Pen CSS Counters drag-and-drop demonstration by SitePoint (@SitePoint) on CodePen.

Cũng giống như ví dụ trước, nên nhớ – kết quả bạn nhân được có thể vướn một số vấn đề truy cập.

4. Frosted Glass với CSS Filters

Với iOS 7, Apple mang đến cho chúng ta hiệu ứng “kính mờ” – với những thành tố mờ mờ ảo ảo như kính bị kết băng. Tái hiện hiệu ứng này là một việc khá rắc rối – khi chưa có CSS filter, ta chỉ có thể dùng blurred images. Ngày nay, CSS filter đã được đa số trình duyệt hỗ trợ, giúp ta vận dụng hiệu ứng này dễ dàng hơn.

Thống kê: http://caniuse.com/#feat=css-filters

5. Dùng HTML Elements làm hình Background

Thông thường, bạn sẽ chỉ định một file JPEG hoặc PNG làm hình background hay gradient. Nhưng bạn có biết rằng, với hàm element(), bạn còn có thể sử dụng <div> làm hình background? Hiện nay, hàm element() chỉ được Firefox hỗ trợ.

Thống kê: http://caniuse.com/#feat=css-element-function

6. Smarter Grids with calc()

Fluid grids rất hay, nhưng vẫn còn hạn chế. Ví dụ như, bạn không thể có gutter phía trên và dưới cùng kích thước với gutter trái phải. Hơn nữa, markup loạn tùng phèo cả lên, tùy vào việc bạn dùng grid system nào. Ngay cả riêng flexbox cũng không phải là giải pháp tối ưu, nhưng với hàm calc() (có thể dùng làm giá trị trong CSS), grid sẽ cải thiện mạnh mẽ.

Thống kế: http://caniuse.com/#feat=calc

7. Aligning position:fixed Elements with CSS calc()

Không chỉ để dùng với grid, hàm cal() còn dùng để align các thành tố vào vị trí cố định. Ví dụ, nếu bạn có content wraper với fluid spacing sang trái và phải, và bạn muốn canh thảnh một thành tố cố định trong wrapper đó – bạn sẽ khá vất vả khi phải quyết định chọn giá trị nào cho property “phải” hoặc “trái”. Với calc(), bạn có thể kết hợp các giá trị tương đối và tuyệt đối để canh thẳng thành tố thật vừa vặn:

1
2
3
4
5
6
7
8
9
10
 
. wrapper {
   max - width : 1060px ;
   margin : 0 auto ;
}
. floating - bubble {
   position : fixed ;
   right : calc ( 50 % - 530px ) ; /* 50% - half your wrapper width */
}
 

Sau đây là ví dụ minh họa:

See the Pen Aligning “position: fixed” elements with CSS calc() by SitePoint (@SitePoint) on CodePen.

8. Animations với cubic-bezier()

Để tăng sự thu hút của UI trang web hay UI ứng dụng, bạn có thể sử dụng animation, và tùy chỉnh “cơ bản” sẽ rất hạn chế. Ví dụ, "linear" hay ”ease-in-out".  Thậm chí bạn còn không thể dùng animation “nhảy” bouncy được. Với hàm cubic-bezier(), bạn có thể thao túng animation đúng theo ý mình.

Có hai cách sử dụng cubic-bezier(): thấu hiểu nguyên lý chính xác của hàm, hoặc dùng cubic-bezier generator. Cách thứ hai hiển nhiên sẽ nhanh gọn hơn rồi.

Lời kết

Như vậy, chỉ với CSS, bạn hoàn toàn có thể giải quyết các vấn đề khó chịu (như grid “ngu”) và đồng thời có thêm sự tự do trong sáng tạo của mình. Hơn nữa, trước môi trường trình duyệt ngày càng hoàn thiện, có lẽ đã đến lúc bạn quan tâm hơn đến kỹ năng CSS của mình.

(Sitepoint)

Có thể bạn quan tâm:
  1. Bao lâu thì nên cập nhật app 1 lần?
  2. Adhere Ad Server - opensource quản lý quảng cáo
  3. Vấn đề với điện thoại di động
  4. Ngôn ngữ lập trình NIM, Một sự lựa chọn mới cho dân lập trình
  5. Top 10 ngôn ngữ lập trình
  6. Trang bị smartphone và tablet cho binh lính
  7. Vệ tinh địa tĩnh là gì?
  8. Danh sách chợ ứng dụng ngoài Google Play và AppStore
  9. Alexa Alexa Rank là gì? cách tăng Alexa Rank hiệu quả nhất
  10. Nhiều người không biết iPhone có thể thay pin
  11. Uber triển khai dịch vụ chăm sóc sức khỏe lưu động
  12. Nên cấp phát bao nhiêu vCPU cho một máy ảo? Sự khác nhau giữa Virtual Sockets và Cores per socket?

Có thể bạn chưa biết:

TUYỂN THỰC TẬP REACT NATIVE

* Trang bị kỹ năng về JS, lập trình hybrid app, sử dụng những công cụ hỗ trợ (VScode, github, sourcetree, ...)
* Thành quả mong muốn là các bạn tham gia sẽ có được kỹ năng lập trình hybrid app

Biểu mẫu đăng ký training tại đây >> http://bit.ly/2NK9YWd

TEAM MOBILE APPS - CTY DVMS

  • Prev
  • Next
  • tweet

Nhiều người quan tâm

  • Mã nguồn mạng xã hội giống y Facebook
  • Tìm co-founder cho các dự án khởi nghiệp
  • Phương pháp giải quyết phản bác
  • Gần 700 forum, trang rao vặt giúp tăng độ phủ quảng cáo, SEO, Backlink
  • Danh sách 6.500 website mua bán rao vặt, tốt để quảng cáo, SEO và tạo backlink
  • Top danh sách hơn 300 website submit PR cao

Tin mới

Bí quyết sống khỏe dành cho lập trình viên 09 January 2019
Top danh sách hơn 300 website submit PR cao 18 September 2019
Blockchain – bước đột phát mới của Chuỗi cung ứng 05 December 2018
Cuốn sách Oreilly Building on SugarCRM Jul 2011 31 May 2017
ứng dụng trên điện thoại và máy tính bảng, tiềm năng chưa được khai phá 25 October 2012
Hiểu hơn về M-Commerce ( Mobile Electronic Commerce - thương mại di động ) 21 November 2013

Blogs

  • app SOS, gọi nhanh tới các số hỗ trợ (đường dây nóng) tại Việt Nam
  • ứng dụng nghe nhạc trên Blackberry
  • Happy Life - Cuộc sống mạnh khỏe và hạnh phúc hơn
  • Driver Plus nhắc nhở bảo dưỡng xe, thay nhớt...
  • Giải pháp xem truyền hình trên smartphone
  • Tự động Kiểm tra thông tin người gọi đến | Call Look

Lập trình ứng dụng di động

  • Lập trình Android
  • Lập trình iOS
  • Lập trình Windows Phone
  • Lập trình BlackBerry OS
  • Lập trình BlackBerry 10
  • Lập trình J2ME
  • Lập trình game mobile
  • Đồ họa cho ứng dụng
  • Lập trình Phonegap
  • Lập trình Unity 3D
  • Lập trình Xamarin
  • Lập trình web mobile
  • Lập trình Node js

Học lập trình

  • Lập trình .NET
  • Lập trình C/C++
  • Visual C++
  • Visual C#
  • Lập trình Visual Basic
  • Visual Basic .NET
  • Lập trình Java
  • Lập trình trên Linux
  • Công cụ, ebooks .NET
  • Dự án lập trình .NET
  • Hỏi đáp về lập trình
  • Hướng dẫn cho người mới
  • Thủ thuật
  • Hỏi đáp tin học

Lập trình web

  • Lập trình PHP
  • Flash và các vấn đề
  • Thiết kế web
  • Lập trình web JSP
  • Lập trình web ASP
  • Lập trình web ASP.NET
  • HTML - CSS
  • Webmaster/ SEO
  • JavaScript / Ajax, jQuery
  • Lập trình Phalcon

Cơ sở dữ liệu

  • MS SQL Server
  • MySQL
  • Oracle
  • Các hệ CSDL khác
  • Bigdata
  • Blockchain

OpenSource Master

  • Lập trình và quản trị Joomla
  • Lập trình và quản trị Wordpress
  • Lập trình và quản trị Drupal
  • Lập trình và quản trị SugarCRM
  • Lập trình và quản trị VTigerCRM
  • Lập trình và quản trị Open ERP
  • Lập trình và quản trị Dolibarr ERP

 

Copyright © Tạo Ứng Dụng, All Rights Reserved. Developed By DVMS | All solution for smartphone & tablet.. Designed By JoomShaper

Tìm kiếm

  • Trang chủ
  • Khóa học
  • Tutorials
    • React Native
  • Đăng ký
  • Tài liệu
    • Thường thức iPhone
    • Mạng xã hội , Social Network
    • Android, ios, Windows phone, Blackberry
    • CRM
    • ERP
    • Joomla, Wordpress, Drupal...
    • Codeigniter, Zend, Phalcon...
    • Magento, Prestashop, opencart ...
    • Tài liệu khác
  • Tuyển dụng
    • Tìm người cùng khởi nghiệp
    • Tuyển thực tập lập trình
  • Chuyển đổi số
    • Chuyển đổi số
    • Kinh tế số
    • Kinh tế chia sẻ
    • Fintech
    • Mạng xã hội
    • insurtech
    • Bất động sản 4.0