2012-07-11 9 views
23

Tôi làm việc với trang mỗi ngày sử dụng truy vấn phương tiện CSS mà tôi không thích; Tôi muốn sử dụng trang đầy đủ (hầu hết trong số họ có liên quan đến trình đơn Twitter Bootstrap sụp đổ khi hẹp hơn 768px).Ghi đè truy vấn phương tiện CSS

Có cách nào để ghi đè truy vấn phương tiện của Bootstrap bằng CSS không? Tốt hơn là không xác định các truy vấn phương tiện truyền thông của riêng tôi để ghi đè tất cả các quy tắc riêng lẻ, vì tôi cảm thấy như thế này sẽ mất một thời gian khá dài.

Chỉnh sửa: Tôi không có quyền kiểm soát mã nguồn, nếu không tôi sẽ chỉ giết mã phản hồi khởi động.

Trả lời

11

Tại sao bạn không xóa chúng ngay từ đầu?

Nếu bạn không thể, bạn vẫn có thể ghi đè lên một tuyên bố CSS với quy tắc:

  • có ưu tiên chọn giống và đi sau khối MQ
  • cao chọn ưu tiên so với quy tắc trong khối MQ
  • !important giữa giá trị và dấu chấm phẩy
/* one id, one class AND one element => higher priority */ 
    #id element.class { property: value2; } 

    /* !important will nuke priorities. Same side effects as a nuke, 
     don't do that at home except if you've tried other methods */ 
    #id .class { property: value2 !important; } 

    @media(blah) { 
     /* Overridden. Thrice. */ 
     #id .class { property: value1; } 
    } 

    /* same selector, same everything except it comes after the one in @media? 
     Then the latter is applied. 
     Being in a @media doesn't give any more priority (but it won't be applied 
     everywhere, depending on "blah", that's the point of MQ) */ 
    #id .class { property: value2; } 

Trong ví dụ trước, bất kỳ tuyên bố nào bên ngoài khối @media sẽ ghi đè lên một bên trong, ví dụ: có 3 lý do tại sao giá trị 2 sẽ được áp dụng và không phải giá trị1.

+0

Tôi đồng ý, nếu bạn không thích/cần chúng, tại sao không chỉ xóa tệp bootstrap-responsive.css hoàn toàn? – Jeemusu

+13

Tôi không có quyền kiểm soát nguồn. –

2

Cũng muốn ghi đè lên bootstraps responsive.css.

Tôi có một nửa trang web nơi tôi muốn sử dụng responsive.css mặc định trong khi truy vấn phương tiện truyền thông khác nửa gây ra bố cục sai nên tôi muốn xóa nó.

Theo nghiên cứu của tôi css không cho phép xóa truy vấn phương tiện.

Vì vậy, tôi sẽ truy cập responsive.css và xóa truy vấn phương tiện. Nếu bạn không có quyền truy cập vào nguồn, ghi đè có thể là lựa chọn duy nhất.

+2

CSS không cho phép xóa bất kỳ nội dung nào sau khi được viết. Bạn chỉ có thể ghi đè một lệnh (với một giá trị mới, đặc biệt là giá trị mặc định của thuộc tính này). Nếu lệnh trong quy tắc trong Truy vấn phương tiện, bạn có thể ghi đè nó trong mọi trường hợp hoặc cho MQ cụ thể này bằng cách viết chính xác các điều kiện tương tự cho MQ này, cùng một bộ chọn, cùng thuộc tính và giá trị mới/mặc định (và địa điểm nó sau khi lệnh được overriden) – FelipeAls