2013-11-19 14 views
9

Hiện nay tôi đang làm việc trên một trang web được sử dụng thẻ meta để làm cho trang trong chế độ IE9 [BrowserMode: IE10, DocMode: Tiêu chuẩn IE9]Làm thế nào để xóa nút rõ ràng (nút 'X') khỏi hộp văn bản IE10 ở chế độ tương thích?

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=9" /> 

Trong nhiều IE10 của phá vỡ CSS trong trang, vì vậy sử dụng IE=Edge không phải là một giải pháp khả thi kể từ bây giờ (có thể trong tương lai điều này sẽ được sử dụng khi tất cả các css được cố định, nhưng tôi không thấy tương lai gần).

Bây giờ, vấn đề là tất cả hộp văn bản đều có nút rõ ràng trong đó. Chỉ trong một hộp văn bản, chúng ta không cần chữ thập đó (vì chúng ta đã có một nút (x) tùy chỉnh ở bên phải từ hộp văn bản).

Tôi đã thử ::-ms-clear nhưng điều đó đã không hoạt động khi chúng tôi đang sử dụng BrowserMode: IE10 và DocMode: Tiêu chuẩn. Những gì có thể được thực hiện ngay bây giờ để loại bỏ 'X' đó.

+0

Tương tự như http://stackoverflow.com/questions/17196845/ie-10s-ms-clear-pseudo-element-and-ie5-quirks-mode ngoại trừ một câu hỏi về Quí vị IE5 chứ không phải Chế độ xem tương thích. Rõ ràng, ':: - ms-clear' sẽ không hoạt động ở cả hai chế độ. – BoltClock

+0

@BoltClock Bạn có thể đề nghị tôi có thể làm gì ở đây không?Ngoài ra, có trang web nào mà chúng tôi có thể đề xuất tính năng yêu cầu MsIE cung cấp một số tùy chọn để xóa 'X' khi DocMode là <10 (mặc dù tôi thực sự nghi ngờ nó: D) Trong trường hợp BrowserMode của tôi là IE10 nhưng DocMode là IE9. –

+0

[Câu hỏi giống nhau ở đây] (http://stackoverflow.com/questions/20050416/disable-ie10-clear-field-in-compatibility-mode#comment29865337_20050416). Một lần nữa, câu trả lời ngắn gọn là bạn không thể làm điều này. Không thể. Nếu bạn thực sự muốn loại bỏ tiện ích này, thì tùy chọn ** chỉ ** của bạn là sử dụng chế độ tiêu chuẩn. Nếu điều đó có nghĩa là sửa CSS bị hỏng của bạn để làm cho nó hoạt động, thì có lẽ đó là một điều tốt. – Spudley

Trả lời

10

Cuối cùng tôi đã cố gắng khắc phục sự cố này. Dường như nếu bạn đặt heightline-height thành 0 và padding-toppadding-bottom đến một nửa chiều cao của hộp văn bản, thì điều này tuyệt vời 'X' sẽ không được hiển thị nữa. Atleast này làm việc cho tôi.

Đây là bút mã: http://codepen.io/rjuyal/pen/iGKnI

Trích từ mã

.gen{ 
       margin: 10px; 
       margin-top: 40px; 

       box-shadow: inset 1px 2p 0 rgba(200, 100,10, 0.2); 
       font-size: 16px; 

       width: 400px; 
       line-height: 18px; 
       height: 41px; 
       fint-family: 'Lucida Grande' , 'Arial'; 
       vertical-align: middle; 
      } 

      .ie10f{ 
       height: 0px !important; 
       line-height: 0px !important; 
       padding-top: 22px !important; 
       padding-bottom: 22px !important; 
      } 

Bạn sẽ thấy hai văn bản hộp một với X khác mà không có nó. Phần tốt nhất là, điều này ẩn X trong IE10 (không có chế độ tương thích).

P.S. Bạn sẽ phải tự thay đổi DocMode thành IE9 từ các công cụ của nhà phát triển.

+0

Đối với một số lý do bằng cách sử dụng chế độ IE9 nó không hoạt động, và trên IE8 nó hoạt động, nhưng nó trông rất lạ. Những gì tôi cần thực sự là cho thiết lập chiều cao: 0; đệm: 10px; là đủ cho tôi để làm cho nó trông giống như nó được với "x" (chỉ mà không hiển thị "x"). Cảm ơn bạn đã giúp khám phá giải pháp thay thế. – pqsk

5

Tôi rất tiếc phải là người mang tin xấu, nhưng điều này là không thể.

Nếu bạn muốn loại bỏ tiện ích con, tùy chọn chỉ của bạn là chuyển sang chế độ tiêu chuẩn.

Trong nhiều IE10 của phá vỡ CSS trong trang, vì vậy sử dụng IE=Edge không phải là một giải pháp khả thi như bây giờ (có thể trong tương lai này sẽ được sử dụng khi tất cả các css là cố định, nhưng tôi không thấy điều này tương lai gần).

Vì vậy, tôi đoán nó đi xuống đến mức độ bạn muốn loại bỏ tiện ích X. Nếu nó làm bạn khó chịu thì bạn sẽ phải cắn viên đạn, sửa CSS của bạn và chuyển sang chế độ tiêu chuẩn.

Nếu không, bạn sẽ chỉ phải sống.

Rất tiếc.

+1

** Tôi xin lỗi vì là người mang tin xấu **, kịch tính thế nào;) +1 cho nó –

+0

Tôi cảm thấy khó chịu về việc đóng câu hỏi khác như một sự lừa dối của điều này vì chúng khác nhau ít hơn một ngày. Tại sao bạn không bỏ phiếu để đóng? – BoltClock

+1

Cảm ơn, tôi đã tìm thấy điều này: http://connect.microsoft.com/IE/feedback/details/783743/disable-ie10-clear-field-button-when-rendering-in-compatibility-mode ** Microsoft ** nói điều này là do thiết kế. –

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