Tại sao Twitter Bootstrap sử dụng điểm ảnh cho kích thước phông chữ?


Câu trả lời:


129

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ó .


4
Vấn đề là có vẻ như không có ai ở đây để giải thích tại sao sử dụng EM lại "thân thiện với khả năng tiếp cận" hơn PX. Ý tôi là ok, trên giấy thì có vẻ hiển nhiên, nhưng ngoài đời thì sao? Có ai có ví dụ THỰC SỰ về người dùng bị mắc kẹt trên các trang web dựa trên pixel không? Với số liệu thống kê thực và các vấn đề thực tế mà pixel gây ra? Tôi nghĩ đây là câu hỏi thực sự trong cuộc tranh luận này. Việc thiếu bằng chứng là lý do tại sao hầu hết mọi người sử dụng PX.
adriendenat

7
Các phông chữ ở cấp độ hệ điều hành và trình duyệt được tăng lên bởi những người có vấn đề về thị lực. emlà cần thiết cho những người như vậy, do đó "khả năng tiếp cận".
Steven Vachon

1
Có một cuộc thảo luận ở đây giải thích lý do tại sao tăng kích thước phông chữ tốt hơn so với thu phóng, webaim.org/discussion/mail_thread?thread=5849 "Tôi đã nói chuyện với một người nào đó tại CSUN năm ngoái rằng việc phóng to trên toàn bộ trang không phải là điều hữu ích đối với anh ta. Anh ta có thị lực rất thấp và anh ta cần phải tăng kích thước của văn bản trên một trang khá đáng kể để đọc nó. Tuy nhiên, khi bạn sử dụng tính năng thu phóng trang, bạn sẽ phải cuộn sang trái và phải để đọc văn bản và văn bản đó cũ đi rất nhanh. Bạn rất dễ đánh mất vị trí của mình khi phải làm việc đó. "
tony

4
Kích thước dựa trên em cũng là một phần không thể thiếu đối với sự phát triển của thiết bị di động. Các nhà sản xuất thiết bị dành tiền và thời gian để xác định kích thước phông chữ cơ sở tối ưu để dễ đọc trên thiết bị của họ. Chúng tôi vô hiệu tất cả nghiên cứu đó khi chúng tôi nói "font-size: 14px". Điều đó có nghĩa là gì trên UltraAwesomeRetina3.0? ? Hoặc trên một màn hình 52" với điểm ảnh mỗi inch thấp Rời kích thước phông chữ cơ sở lên đến các nhà sản xuất là một thực hành tốt nhất, đồng bằng và đơn giản. Filamentgroup.com/lab/... blog.cloudfour.com/...
Jay Dansand

3
Vì tôi là (tạm gọi là) EM cuồng tín, tôi thích việc bạn liên tục cập nhật câu trả lời này… và thậm chí nhiều hơn nữa khi bạn chỉ ra các lựa chọn thay thế. +1 ;)
e-sushi

11

Đừ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 đề. pxcho 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ở.


6
Điều đó hoàn toàn đủ công bằng và thành thật mà nói, với Bootstrap 3, tôi nghĩ nó đã thực sự nâng tầm trò chơi của mình. Nhìn lại thì thấy hơi ngớ ngẩn khi nói, nhưng nó sinh ra từ sự thất vọng và tôi vẫn nghĩ rằng phần lớn các trang web sử dụng Bootstrap sử dụng nó rất lười biếng. Nó là một công cụ tuyệt vời để tạo mẫu và cho các trang không công khai - khu vực quản trị, v.v. Nó cũng có thể là một công cụ tuyệt vời cho các trang công khai nếu người sử dụng nó hiểu cách tạo kiểu ngoài mặc định của nó. Giống như bất kỳ công cụ nào, nó dễ bị lạm dụng và tôi cho rằng sự dễ sử dụng là kết quả của số lượng (ab) sử dụng.
Undistraction

2
Vâng, tôi nghe thấy bạn - đôi khi bạn quá say mê với việc viết mã, bạn thất vọng :) Ít nhất, với bootstrap 3.0, khi bị lạm dụng, có một số tiêu chuẩn được áp dụng. Điều tương tự cũng áp dụng cho Foundation. Có rất nhiều điều có thể học được từ cả hai. Cuối cùng, với thời gian, 'tự mình lăn xả' là con đường phía trước.
Matthew Trow

2
Đăng một câu trả lời để bình luận về một câu trả lời khác hơi khó hiểu… (chỉ nói)
e-sushi

Rất vui khi thấy sự cân bằng nào đó mang lại cho điều này :) Bootstrap hoạt động tốt cho rất nhiều người, có kinh nghiệm cũng như người mới.
Aaria Carter-Weir

Điều này không trả lời câu hỏi.
Greg Schmit

6

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 @mixinshợ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).


Tôi không còn sử dụng TBS nữa vì tôi nhận thấy Foundation được suy nghĩ tốt hơn nhiều, tuy nhiên điều này có vẻ là một sự thỏa hiệp tốt.
Undistraction

1

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 .


1
Tôi nghĩ một trong những điều trớ trêu của Bootstrap là nó làm được nhiều việc hơn là 'bootstrap' ứng dụng của bạn. Nó mang tính quy định ở rất nhiều cấp độ, không ít trong số đó là bố cục. Ngoài sự lười biếng, lý do tại sao rất nhiều trang web dựa trên bootstrap rõ ràng là việc thoát khỏi mặc định không phải là điều dễ dàng. Vâng, có một số biến số để tùy chỉnh các khía cạnh, nhưng các vấn đề về tính cụ thể ghê tởm khiến việc ghi đè các khía cạnh khác trở thành một vấn đề đau đầu. Có lẽ Bootstrap 3 sẽ tốt hơn. Cá nhân tôi thích Foundation 4. Nó khiến tôi cảm thấy như do chính tôi phụ trách hơn là khuôn khổ.
Undistraction

0

tôi nghĩ, đó là do cách tiếp cận đầu tiên trên máy tính để bàn. Twitter Bootstrap là cách tiếp cận thân thiện với khả năng đáp ứng, nhưng "xuống cấp duyên dáng".

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.