Hướng dẫn page css - trang css
Nhóm phát triển của chúng tôi vừa ra mắt website langlearning.net học tiếng Anh, Nga, Đức, Pháp, Việt, Trung, Hàn, Nhật, ... miễn phí cho tất cả mọi người. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. Là một website được viết trên công nghệ web Flutter vì vậy hỗ trợ rất tốt cho người học, kể cả những người học khó tính nhất. Hiện tại website đang tiếp tục được cập nhập nội dung cho phong phú và đầy đủ hơn. Mong các bạn nghé thăm và ủng hộ website mới của chúng tôi. Show
Trước khi tiến hành viết CSS và để CSS có thể thực thi trên website hoặc tài liệu HTML của bạn thì bạn phải tiến hành nhúng CSS vào website. Nói về nhúng CSS vào website thì chúng ta có hai cách là:
Mỗi cách nhúng đều có ưu và nhược điểm khác nhau, cũng như tùy theo trường hợp mà ta sử dụng nó. Inline Styles
External Styles
Và trong các bài học CSS trong serie này bạn có thể sử dụng kiểu Inline Styles để nhúng CSS vào website vì sẽ không mất thời gian tạo tập tin, do chúng ta chỉ viết vài đoạn CSS mà thôi. Anyway, bạn có thể sử dụng kiểu bạn thích. Cách nhúng CSS với Inline StylesĐể nhúng CSS vào website thông qua kiểu Inline Styles, bạn sẽ khai báo cặp thẻ @import "demo.css";5 vào vị trí bất kỳ của website (tốt nhất là bên trong cặp thẻ @import "demo.css";6) như sau. [html] [/html] Và trong cặp thẻ @import "demo.css";5 đó bạn có thể viết CSS vào, ví dụ đơn giản: Cách nhúng CSS với External StylesKhi sử dụng cách này, việc đầu tiên là bạn cần tạo ra một tập tin .css với tên bất kỳ, bạn có thể dùng bất cứ chương trình soạn thảo văn bản nào để tạo. Sau đó dán một đoạn CSS đơn giản vào như thế này:
Và cuối cùng là chèn vào tập tin HTML bằng thẻ @import "demo.css";4 và thẻ này phải đặt bên trong cặp thẻ @import "demo.css";6. Ví dụ: [html][/html] Trong đó, thuộc tính 0 là khai báo loại tập tin nhúng và 1 là đường dẫn khai báo tên tập tin .css cần nhúng vào.Đơn giản phải không nào? Nhúng tập tin CSS vào bên trong một tập tin CSSChẳng hạn bây giờ bạn có 3 tập tin CSS mà bạn không muốn thêm tất cả tụi nó vào website mà chỉ muốn thêm một tập tin CSS thôi, thì bạn có thể sử dụng cách nhúng các tập tin CSS vào bên trong một tập tin CSS với từ khóa 2, và các từ khóa 2 này phải được đặt ở đầu tập tin .css (không bao gồm các đoạn comment).Ví dụ bạn có thể nhúng một tập tin demo.css vào trong tập tin style.css bằng cách chèn đoạn này vào tập tin style.css: @import "demo.css"; Lời kếtViệc nhúng CSS vào website của bạn bây giờ đã hoàn tất rồi, mọi thứ vẫn còn rất đơn giản phải không nào? Cũng đúng thôi vì CSS cũng khá đơn giản mà. Và bắt đầu từ bài sau là chúng ta có thể đi sâu vào việc vận dụng một số thuộc tính CSS để trang trí website rồi. Thạch PhạmBé Thạch 18 tuổi, hiện công tác tại AZDIGI với vị trí giữ xe và viết thuê tại ThachPham.Com. Sở thích nghiên cứu về website, DevOps, SysAdmin và xăm mình nữa. Phương châm sống của bé là "No Pain, No Gain". Hiện tại blog tạm đóng bình luận vì mình cần tập trung thời gian vào cập nhật bài viết. Bình luận sẽ mở ra cho đến khi mình sẵn sàng. Giới Thiệu ChungHôm nay mình sẽ hướng dẫn các bạn reponsive một trang CV-online do mình tự code nha. Reponsive là thuật ngữ không còn quá xa lạ với chúng ta nữa rồi đúng không ạ. Vậy reponsive là gì? Reponsive web design viết tắt là RWD giúp website chúng ta hiển thị giao diện phù hợp với từng thiết bị và kích thước màn hình khác nhau. Mục Đích Bài ViếtHướng dẫn các bạn có thể tự tạo cho mình được một CV-online viết bằng html,css và js không sử dụng framwork như bootstrap để chia layout mà sử dụng float để chia layout. Và sử dụng media query để reponsive cho page. Bài viết này mình làm khá chuyên sâu để giúp các bạn hiểu rõ hơn về reponsive. Mong các bạn xem kĩ. Bắt Đầu Thôi NàoChúng ta muốn reponsive một website hay một trang page nào đó chúng ta phải code giao diện desktop cho nó. Vậy ý tưởng để tạo một CV-online là gì nhỉ?? Và đây là ý tưởng của mình. Thiết Lập Chương TrìnhMình sẽ thiết lập tí cho chương trình nha. Các bạn tạo cho mình một thư mục với bất kì tên gì đó mà bạn thích. Ví dụ: Mình sẽ tạo một folder với tên là reponsive. Trong folder reponsive các bạn tạo cho mình 1 folder css và 1 folder JS và file index.html Trong folder css các bạn tạo cho mình 2 file đó là style.css và reponsive.css và trong folder JS thì các bạn cũng tạo cho mình file script.js nha. Bắt Đầu Code Thôi LàoGiao Diện DesktopCode HTMLTrong file index.html các bạn chèn cho mình các link css và javascript nha. Thì trong file index.html mình sẽ code hai phần là navbar và content. Mình sẽ chia 2 thằng này theo tỉ lệ 2:8 Bên phần nav các bạn có thể thay đổi logo cũng như nội dung nav theo ý muốn của mình nha. Còn bên phần content mình sẽ code 3 phần. Phần 1 là giới thiệu về bản thân. Phần 2 là các kĩ năng của mình. Phần cuối là mình sẽ giới thiệu đến các bạn các project và cũng như các sở thích của mình. Các bạn có thể code thêm phần kinh nghiệm làm việc,...
Và đây là kết quả khi chưa css: Nhìn tù thật đúng không ạ. Bởi vì đây là html mà nó chỉ tạo cho chúng ta cái khung sườn, giờ muốn đẹp chúng ta phải css cho nó là đẹp hết. Nhìn tù thật đúng không ạ. Bởi vì đây là html mà nó chỉ tạo cho chúng ta cái khung sườn, giờ muốn đẹp chúng ta phải css cho nó là đẹp hết. Code CSSBây giờ chúng ta muốn trang page của mình đẹp hơn thì chúng ta phải css cho nó nha. Chia layout mình sử dụng float. Thanh nav bên trái mình sử dụng thuộc tính position:fixed để khi mình scroll nó vẫn không di chuyển. Phần content bên phải mình cũng sẽ sử dụng float:right để chia layout. Khi chúng ta sử dụng float:right hoặc left thì phần tử sẽ sang trái hoặc phải. Thế nhưng một vấn đề xảy ra đó là nav và content nó sẽ bao bọc chung bởi một container, chớ nó không bọc riêng từng thằng. Nên khi chúng ta sử dụng margin hay padding nhìn nó rất là củ chuối. Vì thế nên chúng ta sẽ tạo một div rổng với class="clear". Với thuộc tính .clear{clear:both}. Để tạo một điểm kết thúc cho float.
Và đây là kết quả khi mình chia xong layout: Thứ nhất các bạn sẽ nghĩ trong đầu là tại sao chiều cao của thằng nav nó lại không cao hết trang page mà chỉ một phần trên thôi. Thì mình cũng xin giải thích là khi chúng ta sử dụng position:fixed thì các nav nó sẽ không di chuyển mà đứng yên một chỗ mặc cho phần content nó scroll.Thành ra khi mình chụp toàn bộ trang page thì nav nó chỉ hiển thị chiều cao một phần ở trên thôi. Thế là chúng ta đã chia layout xong. Bây giờ thì mình sẽ style css cho các ảnh và các phần trong content một cách ổn nhất.full code CSS Thứ nhất các bạn sẽ nghĩ trong đầu là tại sao chiều cao của thằng nav nó lại không cao hết trang page mà chỉ một phần trên thôi. Thì mình cũng xin giải thích là khi chúng ta sử dụng position:fixed thì các nav nó sẽ không di chuyển mà đứng yên một chỗ mặc cho phần content nó scroll.Thành ra khi mình chụp toàn bộ trang page thì nav nó chỉ hiển thị chiều cao một phần ở trên thôi. Thế là chúng ta đã chia layout xong. Bây giờ thì mình sẽ style css cho các ảnh và các phần trong content một cách ổn nhất. full code CSS
Và đây là kết quả khi chúng ta đã CSS cho giao diện desktop: Nhìn cũng ok rồi đúng không mọi người. Nhìn cũng ok rồi đúng không mọi người. Code JavascriptBây giờ mình muốn là khi mình scroll đến phần nào thì cái thằng thẻ a(href='#') sẽ được thay đổi color font chữ. Thì muốn làm được như vậy thì mình sẽ sử dụng scrollspy. Trong đây thì mình sẽ code phần scrollspy bằng vanilla js. Chúng ta sẽ đặt tên cho mỗi phần trong content một class="section"
Và đây là kết quả mà mình đã scrollsp: Các bạn chú ý bên trái phần nav khi mình di chuyển nha: Vậy là chúng ta đã xong phần giao diện desktop rồi. Giờ đến phần quan trọng mà mình muốn giới thiệu đến các bạn, đó là reponsive để cho nó thích ứng với kích thước cũng như giao diện mobile. Vậy là chúng ta đã xong phần giao diện desktop rồi. Giờ đến phần quan trọng mà mình muốn giới thiệu đến các bạn, đó là reponsive để cho nó thích ứng với kích thước cũng như giao diện mobile. Giao Diện MobileTại đây mình sẽ hướng dẫn các bạn reponsive sao cho phù hợp và đẹp nhất nha. Chúng ta cùng xem thử trên mobile và tablet thì giao diện mình sẽ hiển thị như thế nào nha:Giao diện tablet Giao diện tablet nhìn cũng ổn đó. Nhưng mình sẽ ẩn thằng nav đó đi, đưa nav lên trên header và cho width của content thành 100%,..Tiếp đến là giao diện mobile Giao diện có phần hơi vỡ là do font chữ quá lớn bây giờ mình sẽ ẩn thằng nav đó đi, đưa nav lên trên header và cho width của content thành 100%, cho font chữ nhỏ lại chút. Giao diện tablet nhìn cũng ổn đó. Nhưng mình sẽ ẩn thằng nav đó đi, đưa nav lên trên header và cho width của content thành 100%,.. Tiếp đến là giao diện mobile Giao diện có phần hơi vỡ là do font chữ quá lớn bây giờ mình sẽ ẩn thằng nav đó đi, đưa nav lên trên header và cho width của content thành 100%, cho font chữ nhỏ lại chút. Reponsive Thôi NàoTrong file reponsive mà các bạn đã tạo. Nếu mà muốn reponsive thì các bạn sử dụng thuộc tính media query nha Ở đây mình có soạn sẵn các media phù hợp với từng loại kích thước với nhau rồi nha. Các bạn chỉ cần copy paste rồi sau đó code thôi nha.
Bắt Tay Vào Code Thôi NàoReponsive Giao Diện MobileMình muốn trong giao diện mobile ẩn thằng nav và cho width:100%, padding:1rem, giảm font-size xuống một tí, đưa nav lên trên header.
Và đây là giao diện mobile khi reponsive: Code HTML Trong file index.html. Các bạn code thêm phần này trong wrapper nha.
Code CSS Trong file style.css các bạn ẩn nó đi nha và style cho nav-mobile nha.
Trong file reponsive.css các bạn hiển thị nav nha. @import "demo.css";0 Code JS Trong file script.js các bạn viết cho một đoạn jquery nhỏ, để khi các bạn click vào icon bar thì sẽ hiển thị menu. @import "demo.css";1 Và đây là giao diện khi chúng ta thêm phần header vào mobile. Reponsive Giao Diện TabletReponsive trong tablet thì nó cũng không khác nhiều so với mobile. @import "demo.css";2 Và đây là giao diện khi chúng ta thêm phần header vào tablet. Vậy là chúng ta đã reponsive xong rồi nha. Trong reponsive các bạn phải tùy cơ ứng biến làm sao cho tối ưu và phù hợp nhất. Vậy là chúng ta đã reponsive xong rồi nha. Trong reponsive các bạn phải tùy cơ ứng biến làm sao cho tối ưu và phù hợp nhất. Các bạn tham khảo trang page CV mà mình đã deploy lên firebase tại đây nha Lời KếtVậy Là Xong bài Hướng Dẫn Tự Tạo Một Trang Page Và Reponsive Bằng HTML, CSS, Javascript rồi nhé. Mình mong muốn sau bài topic này các bạn có thể tự tay mình code ra được một trang CV cho bản thân mình mà không cần sử dụng bất kì framework hay thư viện nào. Giúp các bạn nắng vững kiến thức về reponsive cũng như các kiến thức khác mà mình đã học. Nếu các bạn cảm thấy bài viết của mình hay thì các bạn có thể ủng hộ mình để mình có thêm động lực để ra những bài topic hay và chất lượng hơn ủng hộ mình tại đây nha. Chúc Các Bạn Thành Công!! |