Thanh tiến trình bước hoạt hình CSS

Bạn đã bao giờ muốn tạo thanh tiến trình các bước hoàn toàn tùy chỉnh chưa?

Kể từ khi tôi bắt đầu viết mã, tôi luôn là người thích xây dựng công cụ của riêng mình, đặc biệt khi nó liên quan đến thứ gì đó thú vị, chẳng hạn như thanh tiến trình các bước này. Đây chỉ là phiên bản đơn giản nhất của nó. Sau khi bạn tìm hiểu cách xây dựng khung, bạn có thể thêm biểu mẫu vào khung hoặc một số bước khác mà người dùng tiềm năng cần tương tác với

Một vài điều cần xem xét, trước khi chúng ta bắt đầu viết mã

  • Tôi xây dựng dự án trong quy trình làm việc ưu tiên thiết bị di động
  • Tôi đang sử dụng SCSS thay vì CSS đơn giản, nhưng nếu bạn chưa quen với nó, bạn có thể sử dụng trình chuyển đổi SCSS sang CSS tuyệt vời này
  • Tôi đang sử dụng ký hiệu BEM cho tên lớp
  • Dự án ở các giai đoạn khác nhau và kết quả cuối cùng sẽ có sẵn trên Codesandbox. io

Được rồi, bây giờ không còn cách nào khác, chúng ta có thể vào phần thú vị. Chúng ta hãy viết một số mã, phải không?👨🏻‍💻

1. Thêm thiết lập ban đầu

Đối với thiết lập ban đầu, tôi chỉ thêm một số HTML và CSS cơ bản, phần này sẽ thêm hầu hết nội dung, biến và một số thiết lập lại

Trong phần đặt lại CSS, tôi cũng đã thêm dòng này vào

font-size: 1.6rem;
6

font-size: 62.5%; // 100% / 16px = 62.5%

Vì tôi đang sử dụng

font-size: 1.6rem;
7 cho kích thước phông chữ của mình và những thứ khác, nên việc chuyển đổi
font-size: 1.6rem;
7 thành
font-size: 1.6rem;
9 trở nên khá khó khăn. Vì vậy, đây là một thủ thuật giúp tính toán
font-size: 1.6rem;
0 dễ dàng hơn. Ví dụ: với thiết lập này,
font-size: 1.6rem;
1 bằng với
font-size: 1.6rem;
2 và
font-size: 1.6rem;
0 bằng với
font-size: 1.6rem;
1 Tuy nhiên, chúng tôi vẫn cần đưa kích thước phông chữ mặc định trở lại
font-size: 1.6rem;
1 vì lý do trợ năng, vì vậy tôi cũng thêm dòng này vào
font-size: 1.6rem;
3

font-size: 1.6rem;

Và trong trường hợp nếu bạn không quen với SCSS, thì đây là cách bạn khởi tạo các biến trong SCSS

font-size: 1.6rem;
4

$color-primary: #2f2e41;
$color-secondary: #00bfa6;
$color-tertiary: #ced6d5;
$color-white: #fff;

Bạn có thể đặt bất kỳ tên nào bạn muốn, đây chỉ là một quy ước mà tôi sử dụng để sắp xếp màu sắc của mình hoặc bất kỳ biến nào khác

2. Thêm CSS

Trong giai đoạn này, tôi đã thêm một số CSS mà không có bất kỳ truy vấn phương tiện nào, nhưng đừng lo, chúng tôi sẽ quay lại với chúng sau

Hãy đi qua các lớp học một chút

  • font-size: 1.6rem;
    5, như tên gợi ý, là một vùng chứa để giữ thanh tiến trình và các nút
  • font-size: 1.6rem;
    6, giữ vòng tròn và vạch phía sau, nhưng đợi có hai vạch Ken. Có, có hai thanh, thanh được xây dựng bằng phần tử giả
    font-size: 1.6rem;
    7, thanh có
    font-size: 1.6rem;
    8, đó là thanh hiện có thể nhìn thấy
  • font-size: 1.6rem;
    9 là cái sẽ hiển thị và hoạt ảnh khi chúng tôi thêm JavaScript
  • $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    0, đúng như tên gọi, chịu trách nhiệm thiết kế các vòng tròn. Nó cũng có lớp
    $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    1 theo mặc định được thêm vào mục đầu tiên của thanh tiến trình và sau đó cuối cùng sẽ được thêm vào phần còn lại của chúng, tất nhiên là khi chúng ta thêm JavaScript
  • $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    2, đảm bảo rằng các số trong vòng tròn nằm ở trung tâm, sử dụng thủ thuật
    $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    3 tốt
  • $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    4, tôi có thực sự cần phải nói cho bạn biết nó dùng để làm gì không, hay bạn có thể đoán sau 3 lần thử?

Nếu bạn muốn thêm nhiều bước hơn hay còn gọi là vòng kết nối, hãy đảm bảo thay đổi

$color-primary: #2f2e41;
$color-secondary: #00bfa6;
$color-tertiary: #ced6d5;
$color-white: #fff;
5 của
$color-primary: #2f2e41;
$color-secondary: #00bfa6;
$color-tertiary: #ced6d5;
$color-white: #fff;
6 và
font-size: 1.6rem;
9, khi ở chế độ xem trên thiết bị di động. Và, tương ứng, thay đổi
$color-primary: #2f2e41;
$color-secondary: #00bfa6;
$color-tertiary: #ced6d5;
$color-white: #fff;
8 khi trên máy tính bảng hoặc máy tính để bàn chiều rộng cổng xem

2. 1 Thêm CSS khác. Truy vấn phương tiện truyền thông

Không có gì quá điên rồ, tôi chỉ thêm

$color-primary: #2f2e41;
$color-secondary: #00bfa6;
$color-tertiary: #ced6d5;
$color-white: #fff;
9 cho hai thanh.
$color-primary: #2f2e41;
$color-secondary: #00bfa6;
$color-tertiary: #ced6d5;
$color-white: #fff;
6 và
font-size: 1.6rem;
9, chúng chuyển từ dọc sang ngang, khi chiều rộng khung nhìn là
font-size: 1.6rem;
62 và hơn thế nữa

Nếu bạn muốn thay đổi chiều rộng khung nhìn từ

font-size: 1.6rem;
62, vui lòng làm như vậy, đó chỉ là một con số mà tôi thường sử dụng cho chiều rộng khung nhìn của máy tính bảng

3. Thêm JavaScript

Bây giờ hãy chia nhỏ, phần JavaScript

  • Đầu tiên, chúng tôi khai báo biến
    font-size: 1.6rem;
    64 và chọn tất cả các mục mà chúng tôi sẽ tương tác, chẳng hạn như,
    font-size: 1.6rem;
    65,
    font-size: 1.6rem;
    66,
    font-size: 1.6rem;
    67,
    font-size: 1.6rem;
    68
  • Thứ hai, chúng tôi tạo hàm
    font-size: 1.6rem;
    69 sẽ chịu trách nhiệm cho sự tương tác của
    font-size: 1.6rem;
    67. Đầu tiên, nó lấy tất cả các mục có lớp
    $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    1, sau đó trong câu lệnh
    font-size: 1.6rem;
    72, chúng tôi kiểm tra kích thước của cửa sổ. Nếu nó lớn hơn hoặc bằng (
    font-size: 1.6rem;
    73)
    font-size: 1.6rem;
    74, một lần nữa chỉ là số mà tôi thường sử dụng cho chiều rộng khung nhìn trên thiết bị di động và nhỏ hơn (
    font-size: 1.6rem;
    75)
    font-size: 1.6rem;
    62, thì hãy áp dụng các phép tính cho chiều cao của thanh tiến trình và nếu không thì áp dụng các phép tính . Bước này giúp duy trì hình ảnh động của dòng lấp đầy các bước, cho dù đó là chiều rộng khung nhìn nhỏ hay lớn. Nếu bạn thay đổi kích thước màn hình và không thấy hình ảnh động, vui lòng đảm bảo làm mới trang
  • Thứ ba, chúng ta tạo hàm
    font-size: 1.6rem;
    77, hàm này sẽ chịu trách nhiệm cập nhật trạng thái của các vòng kết nối. Vì vậy, ngay từ đầu, chúng tôi viết một vòng lặp
    font-size: 1.6rem;
    78 sẽ đi qua từng
    font-size: 1.6rem;
    79. Cái nào sử dụng toán tử bậc ba để kiểm tra khi nào nên thêm lớp
    $color-primary: #2f2e41;
    $color-secondary: #00bfa6;
    $color-tertiary: #ced6d5;
    $color-white: #fff;
    1
  • Sau đó, chúng ta gọi hàm
    font-size: 1.6rem;
    69 đã tạo trước đó bên trong
    font-size: 1.6rem;
    72
  • Ngoài ra, chúng tôi thêm một câu lệnh
    font-size: 1.6rem;
    73 sẽ kiểm soát việc hiển thị các nút. Nếu,
    font-size: 1.6rem;
    64 bằng 1, điều đó có nghĩa là chúng tôi vẫn đang ở bước đầu tiên, vì vậy nút trước đó phải bị tắt. Ngược lại, nếu,
    font-size: 1.6rem;
    64 bằng với_______276, điều đó có nghĩa là chúng ta đang ở bước cuối cùng, vì vậy nút tiếp theo phải bị vô hiệu hóa. Khác, cả hai nên hoạt động
  • Sau đó, chúng tôi tạo hai chức năng,
    font-size: 1.6rem;
    77 và
    font-size: 1.6rem;
    78
  • Trong hàm
    font-size: 1.6rem;
    77, chúng ta cộng số đếm của biến
    font-size: 1.6rem;
    64 với 1 và kiểm tra giá trị của nó để đảm bảo rằng nó không vượt quá số bước tối đa. Chúng tôi kiểm tra giá trị bằng cách đoản mạch (
    font-size: 1.6rem;
    91), vì vậy nếu
    font-size: 1.6rem;
    64 có giá trị lớn hơn số lượng vòng tròn, hãy làm cho nó bằng với số lượng vòng tròn
  • Trong hàm
    font-size: 1.6rem;
    78, chúng ta trừ số đếm của biến
    font-size: 1.6rem;
    64 đi 1 và kiểm tra xem giá trị của nó có thấp hơn số bước tối thiểu không. Chúng tôi lại sử dụng đoản mạch, nhưng trong trường hợp này, chúng tôi kiểm tra xem nếu
    font-size: 1.6rem;
    64 nhỏ hơn 1 thì
    font-size: 1.6rem;
    64 cũng phải bằng một
  • Cuối cùng nhưng không kém phần quan trọng, chúng tôi thêm
    font-size: 1.6rem;
    97 vào
    font-size: 1.6rem;
    65 và
    font-size: 1.6rem;
    66 Sau đó, chúng tôi gọi
    font-size: 1.6rem;
    77 và
    font-size: 1.6rem;
    78 tương ứng, ngoài việc gọi
    font-size: 1.6rem;
    77 trong cả hai trường hợp

4. Kết quả cuối cùng

Kết quả cuối cùng của bạn sẽ giống như thế này

Ngoài ra, đây là một liên kết với tất cả các giai đoạn khác nhau của dự án

Bạn có thể tùy chỉnh nó để phù hợp với thiết kế của mình, bạn cũng có thể thêm nhiều chức năng hơn cho nó, chẳng hạn như thêm biểu mẫu, hình ảnh, hoạt ảnh khác, v.v.

Và nếu bạn làm như vậy, xin vui lòng chia sẻ nó với tôi và mọi người khác, trong phần bình luận

Đây là bài viết hướng dẫn đầu tiên của tôi, tôi hy vọng nó hữu ích và bạn đã học được điều gì đó từ nó. Nếu bạn có bất kỳ câu hỏi nào hoặc bạn tìm thấy lỗi, vui lòng để lại nhận xét, để tôi có thể giúp bạn hoặc sửa lỗi để cải thiện hơn nữa trải nghiệm của người khác. Cảm ơn trước

Đọc thêm

Làm thế nào để thành thạo phát triển web trong 30 ngày

Frontend Mentor là gì và nó đã giúp tôi rèn luyện các kỹ năng của mình như thế nào và thoát khỏi địa ngục của hướng dẫn?

jav. tiếng Anh đơn giản. io

Vật. đối tượng đóng băng () VS. con dấu () bằng tiếng Anh đơn giản

Sự khác biệt chính giữa hai phương pháp, chỉ cần đặt cạnh nhau

jav. tiếng Anh đơn giản. io

Làm thế nào để thành thạo giải quyết vấn đề với tư cách là một lập trình viên

14 tài nguyên để thực hành giải quyết vấn đề và cách tôi thành thạo các kỹ năng của mình

jav. tiếng Anh đơn giản. io

Kết nối nào

Theo dõi tôi trên Twitter ﹫kens_visuals

👨🏻‍💻👾

Twitter. com

kens-visuals - Tổng quan

Lập trình viên Front-End. Người say mê JS. Nhà văn công nghệ. kens-visuals có sẵn 63 kho lưu trữ. Thực hiện theo mã của họ trên…

github. com

Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter và LinkedIn. Tham gia cộng đồng của chúng tôi