2013-02-14 23 views
8

Có một Twitter Bootstrap tương đương với lớp trợ giúp không thuộc ngữ nghĩa của HTML5Boilerplate không. Tôi không thể thấy bất cứ điều gì tương tự trong các tập tin CSS. Mục đích của lớp .visuallyhidden là ẩn giấu nó một cách trực quan, nhưng làm cho văn bản có sẵn cho các trình đọc màn hình. Có cách tiếp cận Bootstrappy khác để đạt được mục tiêu tương tự không?Tương đương với Bootstrap của HTML5Boilerplate .visuallyhidden

// HTML5Boilerplate's non-semantic helper class 
.visuallyhidden { 
    border: 0; 
    clip: rect(0 0 0 0); 
    height: 1px; 
    margin: -1px; 
    overflow: hidden; 
    padding: 0; 
    position: absolute; 
    width: 1px; 
} 

Các Bootstrap phi ngữ nghĩa lớp helper không đạt được hiệu quả liên quan đến nhau:

// Some of Twitter Bootstrap's non-semantic helper classes 
.hide { 
    display: none; 
} 

.invisible { 
    visibility: hidden; 
} 

Trả lời

12

Bạn có thể sử dụng lớp Bootstrap .sr-only hoặc trong HTML của bạn (không ngữ nghĩa) hoặc dưới dạng mixin. Dưới đây là định nghĩa:

.sr-only { 
    position: absolute; 
    width: 1px; 
    height: 1px; 
    padding: 0; 
    margin: -1px; 
    overflow: hidden; 
    clip: rect(0 0 0 0); 
    border: 0; 
} 
6

Vâng,

.text-hide { 
    background-color: transparent; 
    color: transparent; 
    border: 0; 
    font: 0/0 a; 
    text-shadow: none; 
} 

Sửa 2013/11/25: Trong Bootstrap v3.0.1 (như Dean đã nêu chính xác trong bình luận bên dưới) .text-hide thực hiện một phần những gì bạn muốn. Trước đó lên đến Bootstrap v3 tên lớp là .hide-text.
Ban đầu nó có nghĩa là để thay thế hình ảnh, do đó, nó không thay đổi thuộc tính 'hiển thị'.

Xem https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757 để được giải thích đầy đủ về tất cả thuộc tính trong quy tắc này, như giải pháp tuyệt vời 0/0 a cho trình xác thực CSS.

Một tiếp tục đọc trên lớp .hide-text:
https://github.com/twitter/bootstrap/issues/2362#issuecomment-4501223

Ngoài ra còn có một vấn đề nộp trong Bootstrap với câu hỏi của bạn: https://github.com/twitter/bootstrap/issues/6452

+0

Và hãy suy nghĩ về, nếu cần thiết để đặt các lớp không ngữ nghĩa vào nguồn! ;) –

+0

Hi Volker, Thực ra tôi sử dụng Compass/SASS vì vậy tôi không sử dụng chúng theo cách không ngữ nghĩa. Tôi sử dụng chúng như 'mixins' áp dụng cho các yếu tố khác nhau trong CSS (SASS). Cảm ơn bạn đã chỉ ra yêu cầu kéo. Tôi sẽ chờ cho đến khi nó xuất hiện trong các plugin Compass tôi đang sử dụng. – Prembo

+1

Trích dẫn từ nguồn Bootstrap: Thủ trưởng! v3 được khởi chạy chỉ với '.hide-text()', nhưng mỗi mẫu của chúng ta cho các mixin được tái sử dụng như các lớp có cùng tên, điều này không giữ được. Theo v3.0.1, chúng ta đã thêm '.text-hide()' và không dùng nữa '.hide-text()'. Vì vậy, sử dụng '.text-hide'. –

Các vấn đề liên quan