Cho rằng Twitter Bootstrap được thiết kế để đáp ứng / thân thiện với thiết bị, tại sao nó không sử dụng kích thước phông chữ tương đối?
Cho rằng Twitter Bootstrap được thiết kế để đáp ứng / thân thiện với thiết bị, tại sao nó không sử dụng kích thước phông chữ tương đối?
Câu trả lời:
Có vẻ như họ đang trốn sau cái cớ thu phóng trình duyệt . Thực sự đáng buồn khi thấy một khuôn khổ được sử dụng nhiều và có ảnh hưởng như vậy lại hoàn toàn bỏ qua các vấn đề về khả năng truy cập và nền tảng cơ bản của thiết kế đáp ứng. Họ đang ở trong một vị trí có trách nhiệm lớn và đáng tiếc là dường như họ không có ý định hành động cho phù hợp.
[Cập nhật] Vì vậy, hôm nay Mark Otto đã trả lời trên chủ đề mà tôi đã tham khảo ở trên. Có thể dự đoán là không có đề cập đến khả năng tiếp cận và sử dụng cụm từ 'pixel-perfect':
Được rồi, đây là một chút thông tin cơ bản về các quyết định của năm ngoái và kế hoạch tiến lên.
Điểm ảnh cung cấp khả năng kiểm soát tuyệt đối và hiển thị nhất quán trên mọi trình duyệt.
Các nhà thiết kế vẫn chủ yếu suy nghĩ và hoạt động trên pixel.
Ngày nay, các trình duyệt mở rộng quy mô toàn bộ các trang, vì vậy không phải là vấn đề với chia tỷ lệ kiểu hay bất cứ thứ gì.
Việc lồng các ems trong lịch sử là một vấn đề khó khăn và có thể yêu cầu thêm toán học cho các giá trị pixel được tính toán / dự định.
Kết hợp các đơn vị đo lường là xấu xí và OCD bên trong tôi ghét nó. Nhìn chung không khuyến khích sử dụng các đơn vị tính theo chiều cao dòng, nhưng cung cấp kiến thức tức thì về giá trị được tính là gì. Chúng tôi có thể sẽ cố gắng tránh điều này trong tương lai. Trong tương lai, chúng ta có thể sẽ sử dụng ems để định kích thước loại, có lẽ thậm chí là rems, nhưng không phải cho bất kỳ thứ gì khác. Điều này cũng gây tranh cãi về kích thước phông chữ cho đầu vào và những thứ tương tự. Nó không chỉ là cách mọi người xây dựng các trang web pixel hoàn hảo.
Đó là một chút tất cả và hy vọng đủ mạch lạc. Tôi sẽ cố gắng viết blog về những thay đổi này khi chúng xuất hiện nhiều hơn, nhưng tôi không chắc 3.0 đã gần đến mức nào và tất cả sẽ kéo theo những gì.
Tôi sẽ đề nghị bất kỳ ai có cảm xúc mạnh mẽ về điều này hãy +1 chủ đề này .
[Cập nhật] Lộ trình V3 có trong bài đăng blog phát hành phiên bản V2.3 không đề cập đến việc thêm hỗ trợ cho ems.
[Cập nhật] Nhiều thông tin hơn về Bootstrap V3 có sẵn trong yêu cầu kéo ở đây bao gồm những thông tin sau từ Mark Otto:
Chúng tôi đã khám phá việc sử dụng các đơn vị rem trên pixel, nhưng không tìm thấy lợi ích nào để bù đắp các tác động của việc sử dụng chúng. IE8 sẽ vẫn cần dự phòng pixel và đó là rất nhiều dòng mã trùng lặp. Hơn nữa, sử dụng rems ở khắp mọi nơi thay vì pixel sẽ làm trầm trọng thêm vấn đề đó. Việc trộn rems và pixel dường như không còn hợp lý nữa. Tuy nhiên, chúng tôi có thể và sẽ tiếp tục đánh giá điều này trong các bản phát hành trong tương lai.
Sau đó, gần đây hơn (trong nhận xét của nó):
Tôi thực sự nghi ngờ chúng tôi sẽ vận chuyển bằng rems vào thời điểm này. Thay đổi mọi thứ — ngoài kích thước phông chữ — là một nhiệm vụ rất lớn và một nhiệm vụ đi kèm với ít lợi ích để bù đắp điều đó. Gấp đôi các dòng mã cho kích thước phông chữ sang một bên, hỗ trợ rems theo bất kỳ cách nào khác có vẻ tẻ nhạt nhất. Điều đó nói rằng, chúng tôi luôn có thể truy cập lại trong một bản phát hành trong tương lai. Hiện tại, chúng tôi đang gắn bó với pixel.
Đã trở nên không hài lòng với một số lượng lớn các tính năng của Bootstrap, đặc biệt là nó thiếu hỗ trợ em, tôi thực sự khuyên bạn nên xem xét Susy nếu bạn chỉ muốn lưới, hoặc Zurb Foundation 4 cho toàn bộ enchilada. Đừng để sự phổ biến của Bootstrap làm lu mờ phán đoán của bạn. Bất kỳ ai cũng có thể xây dựng thứ gì đó với Bootstrap, đó chính xác là vấn đề của nó - nó được thiết kế cho những người có trải nghiệm web tối thiểu. Chỉ vì có rất nhiều cửa hàng McDonald trên thế giới không có nghĩa đó là một nơi ăn uống lành mạnh.
[Chỉnh sửa] OK. Đây là một điều ngớ ngẩn để nói. Kể từ khi tôi viết bài này, tôi đã sử dụng BS3 và nó đã nâng tầm trò chơi của mình lên đáng kể. Đáng lẽ tôi không nên đưa ra nhận xét phiến diện như vậy, nhưng tôi vẫn tin rằng nó đã đưa ra một quyết định tồi trong việc sử dụng pixel để định cỡ phông chữ. Cũng như các vấn đề về khả năng tiếp cận, ems hữu ích theo những cách khác.
[Cập nhật] Có vẻ như rems sẽ được hỗ trợ trong V4 (Mdo trích dẫn từ đây ):
Đối với những người sau đây, chúng tôi sẽ có thể thay đổi từ pixel thành REM trong v4 khi chúng tôi bỏ hỗ trợ IE8. Không thể làm gì nhiều cho đến lúc đó.
[Cập nhật tháng 2 năm '17] Bootstrap 4 vẫn ở phiên bản Alpha, nhưng hiển thị việc sử dụng rems trong tài liệu Typography của nó , nhưng không hiển thị việc sử dụng rems trong tài liệu bố cục của nó .
em
là cần thiết cho những người như vậy, do đó "khả năng tiếp cận".
Đừng để sự phổ biến của Bootstrap làm lu mờ phán đoán của bạn. Bất kỳ ai cũng có thể xây dựng thứ gì đó với Bootstrap, đó chính xác là vấn đề của nó - nó được thiết kế cho những người có trải nghiệm web tối thiểu. Chỉ vì có rất nhiều cửa hàng McDonald trên thế giới không có nghĩa đó là một nơi ăn uống lành mạnh.
Bạn có thể tranh luận không để nó làm lu mờ đánh giá của bạn theo hướng tiêu cực. Đó là một khuôn khổ vững chắc và nếu bạn bận tâm đầu tư thời gian vào cách sử dụng nó một cách hiệu quả, phần lớn lập luận của bạn sẽ đổ dồn vào nó.
Mặc dù nó thường được sử dụng bởi những người có ít kinh nghiệm - và không có gì sai với điều đó - nó cũng được sử dụng bởi những người có nhiều kinh nghiệm.
Ít nhất, nó là một công cụ tạo mẫu vô giá. Tốt nhất, nó hoàn toàn có thể tùy chỉnh. Bạn có thể chọn và chọn, sửa đổi, thêm vào - đó là lý do tại sao nó được gọi là 'khuôn khổ'.
Tôi đã sử dụng nó một cách hiệu quả trong một số dự án của mình trong hơn hai năm - nó gọn gàng như bạn muốn. Tôi chỉ sử dụng khung biểu mẫu, chỉ lưới, toàn bộ cơ sở mã và tùy chỉnh nó cho phù hợp với nhu cầu của tôi. Theo nhiều cách, nó đã 'nâng cấp' trò chơi của tôi, đưa tôi đi sâu hơn vào tiền xử lý, sử dụng các biến, trau dồi cách tôi cấu trúc các dự án.
Có, có một số vấn đề. px
cho các kích thước phông chữ và sử dụng Ít hơn là hai. Tuy nhiên, vì nó hoàn toàn là mã nguồn mở, bạn có thể tìm thấy các tùy chọn để khắc phục cả hai điều đó một cách dễ dàng.
Tôi đã điều tra Foundation và thích những gì tôi thấy, nhưng tôi không may phải hỗ trợ IE8, giống như nhiều nhà phát triển. Tổ chức đã bỏ hỗ trợ cho IE8, khiến nó trở thành 'không nên' đối với tôi. Mặc dù vậy, tôi sẽ không loại bỏ toàn bộ một khuôn khổ, cụ thể nhất là một cái gì đó miễn phí sử dụng và miễn phí sửa đổi chỉ dựa trên một số vấn đề!
Rất tiếc, trong một dự án, tôi đã dỡ bỏ các phần của Foundation và các phần của Bootstrap và thêm mã tùy chỉnh của riêng tôi - đó là vẻ đẹp của mã nguồn mở.
Nếu bạn vẫn thích Bootstrap có hỗ trợ em và rem, bạn có thể xem phần này - https://github.com/ivayloc/twbs-rem-em không cần thực hiện bất kỳ phép tính nào để chuyển đổi pixel theo đơn vị rem hoặc em, có tích @mixins
hợp cho điều này - @include rem(property, values)
- cũng dự phòng cho px và để chuyển đổi em, bạn có thể sử dụng em(value)
.
Trong khi tôi sử dụng Bootstrap rộng rãi, có một số lĩnh vực mà khả năng tiếp cận sẽ sử dụng ổ ghi phía sau. Tôi đoán không thể tránh khỏi sự đánh đổi với một nền tảng được sử dụng rộng rãi.
Tôi hoàn toàn hiểu tại sao họ đã chọn giữ lại pixel cho kích thước phông chữ. Các vấn đề kế thừa với các phông chữ của khung công tác em là một cơn ác mộng.
rems là một tùy chọn thay thế, nhưng hỗ trợ trình duyệt vẫn còn vấn đề.
Bạn có thể tạo bản mixin rems của riêng mình và thay thế mọi dòng nhỏ hơn sử dụng biến kích thước phông chữ cơ sở.
Đó là vẻ đẹp của bootstrap - và các framework giống như nó - đó là một cơ sở vững chắc để làm việc.
Vâng, tôi đã đề cập đến các yếu tố đối với bootstrap twitter không thể truy cập được - một ví dụ nhỏ, việc sử dụng 'display: none' thay vì sử dụng clip. Tôi khá chắc chắn rằng có một lý do hợp lệ cho điều này - và một lần nữa, bạn có thể dễ dàng sửa đổi điều này nếu bạn muốn.
Bootstrap không hoàn hảo, nhưng sau đó, tôi nghi ngờ rằng nó từng được dự định là câu trả lời cuối cùng cho tất cả các yêu cầu của bạn. Đó là một cơ sở - một 'bootstrap' - tìm hiểu nó và sử dụng nó đúng cách, thêm vào nó, kết hợp tất cả - ít nhất, đó là một khuôn khổ tuyệt vời để tạo nguyên mẫu hoặc để tạo ra một trang web nhanh chóng. Đi xa hơn, có một số nền tảng thực sự vững chắc có thể được áp dụng cho bất kỳ trang web nào .