2010-06-12 40 views
24

Có thể làm cho một div vô hình mà không bình luận nó ra? Nếu vậy, làm thế nào?Làm thế nào để làm cho một div vô hình mà không bình luận nó ra?

+0

Tại sao bạn muốn một div mà bạn không muốn hiển thị? Thông tin này có thể hữu ích cho câu trả lời. –

+0

@Taz: Đó là điểm tốt nhưng tôi chỉ tiếp tục với những gì là thay thế. Chỉ OP biết liệu anh ta có thực sự cần phải loại bỏ chúng hoàn toàn hoặc ẩn chúng để truy xuất sau này. – Sarfraz

Trả lời

28

Bạn cần phải che giấu điều đó với CSS:

div {     /* this will hide all divs on the page */ 
    display:none; 
} 

Nếu nó là một div đặc biệt với lớp hoặc id nào đó, bạn có thể ẩn nó thích:

<div class="div_class_name">Some Content</div> 

CSS:

div.div_class_name {  /* this will hide div with class div_class_name */ 
    display:none; 
} 

Hoặc

<div id="div_id_name">Some Content</div> 

CSS:

div#div_id_name {  /* this will hide div with id div_id_name */ 
    display:none; 
} 

Lưu ý: Bạn cần phải quấn tyles CSS ở giữa <style type="text/css"></style> thẻ, ví dụ:

<style type="text/css"> 
    div#div_id_name { 
    display:none; 
    } 
</style> 

More Information :)

+3

Tôi đã chỉnh sửa bài đăng của bạn hai lần để sửa lỗi đánh máy 'div.div_id_name' của bạn và mỗi lần bạn chỉnh sửa: P ... Tôi từ bỏ: P – Matt

+0

@Matt: Đúng vậy, không nhận thấy rằng trong bản sao -paste từ ví dụ lớp. Đã cập nhật. Cảm ơn :) – Sarfraz

8

Dễ dàng. Điều duy nhất bạn cần là, thêm một phong cách với nó, như sau ví dụ cho thấy:

CSS:

<style type="text/css"> 
    div.myInvisibleDiv { 
     overflow: hidden; 
     visibility: hidden; 
     height: 0; 
     width: 0; 
    } 
</style> 

HTML:

<div class="myInvisibleDiv"><p>My invisible content</p></div> 

div này, và nó nội dung đó chắc chắn không hiển thị và nó sẽ không làm phiền các yếu tố xung quanh.

11

Bạn có thể làm điều này bằng phong cách inline

<div style="display:none"></div> 

hoặc bằng cách định nghĩa CSS Style như Trong css thêm

.HideableDiv{display:none;} 

và trong HTML của bạn viết

<div class="HideableDiv" ></div> 
0
position: absolute; 
left: -99999px; /* big number */ 

sẽ làm cho tiếp ent có thể truy cập được với hầu hết các trình đọc màn hình nhưng sẽ hiển thị phần tử ngoài màn hình.

+0

sẽ không trình duyệt vẫn phải làm cho nó suy nghĩ? sử dụng "display: none" là một phương pháp tốt hơn và ít gây nhầm lẫn hơn – Stefan

+0

Tại sao bỏ phiếu xuống? Chỉ vì bạn có thể nghĩ rằng nó gây nhầm lẫn không có nghĩa là đề nghị của tôi là xấu hoặc không hữu ích. Trên thực tế, đó là phương pháp tiêu chuẩn, nổi tiếng khi bạn xử lý khả năng truy cập. Tùy thuộc vào * tại sao * bạn muốn ẩn thông tin, thông tin là gì và bạn đặt thanh cao đến mức nào, đề xuất của tôi thực sự sẽ được ưu tiên hiển thị: không. –

+0

Tôi xin lỗi, tôi nghĩ rằng tôi đã hiểu lầm mục đích của việc rút tiền. Tha thứ cho tôi? – Stefan

4

nếu bạn muốn nó được về cơ bản đi từ cách bố trí của bạn:

.element_class { 
display:none; 
} 

nếu bạn muốn chỉ cần làm cho nó vô hình (nhưng vẫn giữ nó là không gian dường như trống rỗng)

.element_class { 
visibility: hidden; 
} 

và sau đó bạn phần tử (nếu div) sẽ trông giống như sau:

<div class="element_class"></div> 

về cơ bản mọi thứ bạn thêm lớp = "el ement_class "sẽ ẩn hoặc ẩn hoàn toàn.

0

Có thể, nó không phải là giải pháp cần thiết, nhưng bạn có thể giải quyết loại vấn đề này bằng những mẹo nhỏ này.

Bạn có thể sử dụng jQuery để đạt được giải pháp. Nếu bạn muốn hoàn toàn ẩn/hiển thị các div, sau đó bạn có thể sử dụng:

$('#my_element').show() 
$('#my_element').hide() 

Hoặc nếu bạn muốn điều đó div của bạn trở nên vô hình và nó vẫn còn tồn tại ở trang, sau đó bạn có thể sử dụng thủ thuật hiệu quả:

$('#my_element').css('opacity', '0.0'); // invisible Maximum 
$('#my_element').css('opacity', '1.0'); // visible maximum 
Các vấn đề liên quan