Hiểu CSS về kiểu dáng người dùng trong trình duyệt


13

Tôi muốn thực hiện một thay đổi cụ thể đối với sự xuất hiện của một trang web cụ thể trong trình duyệt web của tôi. Trang web này sử dụng CSS, vì vậy tôi nghĩ rằng những gì tôi nên làm là viết ghi đè CSS của người dùng (vui lòng sửa lại cho tôi nếu điều này sai).

Các trình duyệt của tôi là Firefox (mà tôi nghĩ tôi nên viết một cái gì đó chrome/userContent.css) và Chrome ( User\ StyleSheets/Custom.css).

Thay đổi cụ thể tôi muốn thực hiện là xóa mẫu nền (chấm tối) trên tất cả các trang của /unix// . Nhưng nói chung hơn, xin vui lòng dạy tôi cách câu cá: làm thế nào để tôi tìm ra tham số nào cần thay đổi và làm cách nào để viết thay đổi này trong css của người dùng?

Câu trả lời:


15

Tôi chỉ có thể nói chuyện với sự quen thuộc với Firefox, vì đó là trình duyệt chính của tôi. Tôi sẽ cố gắng giữ mọi thứ chung chung ở đây để thực hiện yêu cầu 'dạy tôi câu cá' của bạn. Cuối cùng, tôi sẽ bao gồm 2 ví dụ, của bạn và một ví dụ khác có nhiều bài học thực tế hơn trong đó. Trước tiên, chúng tôi sẽ nhận được một số công cụ để giúp người dùng tạo CSS dễ dàng hơn.

  1. Cập nhật lên Firefox mới nhất. Một số phiên bản gần đây đã có bản mở rộng của các công cụ kiểm tra trang web, vì vậy bạn sẽ muốn những công cụ đó.
  2. Tùy chọn: Cài đặt tiện ích mở rộng Fireorms cung cấp cho bạn các công cụ kiểm tra trang web mạnh mẽ hơn nhiều. (cá nhân, tôi không sử dụng Fireorms để tạo CSS cho người dùng, nhưng tôi bao gồm một đề cập ở đây vì mục đích hoàn chỉnh)
  3. Cài đặt tiện ích mở rộng Kiểu . Đây là một phần mở rộng tập trung vào CSS của người dùng giúp đơn giản hóa rất nhiều việc tạo CSS người dùng.

Bây giờ sau đó, để thực sự viết một cái gì đó. Bạn nên làm quen với cơ bản với HTML và CSS trước khi tiếp tục. W3Schools có các hướng dẫn phù hợp có sẵn để làm quen với cấu trúc và cú pháp cơ bản của HTMLCSS . Vì mục đích của câu trả lời này, tôi sẽ bao gồm đủ thông tin để hy vọng giúp một người mới đủ để làm cho ví dụ được hoàn thành.

  1. Điều hướng đến trang. (trong trường hợp của bạn, /unix// )
  2. Nhấp chuột phải vào yếu tố bạn đang tìm cách thao tác. (khá nhiều ở bất cứ đâu trên trang cho trường hợp này, vì nền ảnh hưởng đến toàn bộ trang)
  3. Chọn 'Kiểm tra phần tử' từ menu bật lên. Cái này sử dụng các công cụ kiểm tra tích hợp của Firefox, tôi sẽ không đề cập đến Fireorms ở đây, nhưng nó có các tính năng và bảng tương tự.
  4. Điều này sẽ mở các bảng ở phía dưới và bên của cửa sổ Firefox. Ở phía dưới, bạn đang nhìn thấy HTML. Ở bên phải, bạn đang thấy các quy tắc CSS cho thành phần trang được chọn (đây sẽ là điều bạn nhấp chuột phải vào). Ở phía dưới, nhấp xung quanh các yếu tố khác nhau để điều hướng xung quanh. Trang được tổ chức thành một cây các yếu tố và bạn có thể thu gọn hoặc mở rộng từng nút trong cây. Khi bạn nhấp vào các yếu tố, yếu tố được chọn sẽ được tô sáng trên chính trang đó.
  5. Nói chung, tại thời điểm này, bạn sẽ muốn kiểm tra phần tử mà bạn muốn thao tác, cùng với các phần tử cha của nó (các mục có chứa phần tử đó trong cây). Xác định yếu tố mà bạn thực sự sẽ phải thao tác. Ví dụ: nếu bạn đang nhầm lẫn với các câu trả lời trên trang này, cuối cùng bạn sẽ bắt đầu với phần tử <p> có chứa văn bản của câu trả lời, nhưng bạn muốn bao gồm tất cả nội dung xung quanh văn bản, như lên / mũi tên bỏ phiếu, thông tin của người đăng, liên kết chia sẻ / chỉnh sửa / gắn cờ, v.v. Vì vậy, bạn điều hướng một vài cấp độ đến thẻ <div> có id là "answer - ####" và một lớp "câu trả lời", vì đó là yếu tố chứa tất cả các yếu tố thay đổi cửa sổ của một câu trả lời. Nhấp vào nó và bạn sẽ thấy một phần của trang web được tô sáng. (Trong trường hợp này, nền của trang sẽ ở gần trên cùng, trong thẻ <body> . Cuộn lên trên cùng của HTML và nhấp vào thẻ <body>.)
  6. Tiếp theo, bạn cần xác định các thuộc tính CSS của phần tử này mà bạn muốn thao tác. Nhìn vào CSS bên phải và tìm các thuộc tính bạn muốn thay đổi. Cá nhân, tôi khá mới với CSS, vì vậy tại thời điểm này, tôi sẽ thường google 'css' + tên thuộc tính để tìm hiểu thêm về thuộc tính và cách thức hoạt động của nó. Tiếp tục ví dụ của tôi khi chúng tôi đang xem câu trả lời SE, giả sử chúng tôi muốn thay đổi lề xung quanh câu trả lời. Tệp all.css có thuộc tính lề được đặt thành 0px, nhưng rõ ràng có một lề xung quanh các thành phần này. Một số googling dạy tôi tìm kiếm các thuộc tính đệm, vì chúng cũng có thể ảnh hưởng đến lề xung quanh một mặt hàng. Chắc chắn, có hai thuộc tính liên quan đến phần đệm được đặt trên một câu trả lời, phần đệm dưới cùng và phần đệm trên cùng. (đối với vấn đề cụ thể của bạn, bạn đang tìm kiếm một hình nền, vì vậy nhìn cho 'nền' trong các thuộc tính CSS. Bạn sẽ thấy một 'nền' bất động sản gần đầu trang. Nó áp dụng đối với các yếu tố cơ thể của trang đó. Googling " thuộc tính nền css " để tìm hiểu cách hoạt động của thuộc tính đó, cho bạn thấy rằng nó có thể chứa màu hoặc URL tới hình ảnh, cùng với các sửa đổi khác nhau. Sau khi điều hướng một chút để tìm hiểu cách hoạt động của thuộc tính hình ảnh nền , chúng tôi thấy một số thông tin hữu ích, giá trị mặc định của 'none' . Chúng tôi muốn hoàn nguyên hình nền về giá trị mặc định, vì vậy chúng tôi sẽ cần thông tin đó.)
  7. Bây giờ chúng tôi sử dụng thời trang. Lựa chọn thay thế mà không có Kiểu dáng sẽ là chỉnh sửa các tệp bạn đã đăng trong câu trả lời của mình. Sành điệu cho phép chúng tôi dễ dàng quản lý CSS người dùng của nhiều trang web. Sành điệu thêm một biểu tượng nhỏ vào cửa sổ Firefox của bạn, nhấp vào đó rồi đi "Viết kiểu mới" -> "Dành cho" (trang này) .com ". Đặt tên cho kiểu và tùy chọn một số thẻ. Sau đó, bạn có thể để phân biệt kiểu này là kiểu áp dụng cho Superuser.com hoặc Stackexchange.com, v.v ... Cửa sổ này cung cấp cho chúng tôi một mẫu cho phép chúng tôi thay đổi CSS chỉ cho tên miền này. Nếu bạn cần thay đổi CSS cho một URL cụ thể, bạn có thể làm điều đó hoặc bạn cũng có thể chỉ có một kiểu trống nếu bạn muốn viết CSS áp dụng cho tất cả các trang web, chỉ cần chọn mục thích hợp từ menu Kiểu. Đối với ví dụ sửa đổi Trả lời của tôi, bạn '

    @namespace url(http://www.w3.org/1999/xhtml);
    
    @-moz-document domain("superuser.com") {
    
    }

    Bất cứ điều gì được đưa vào khối tài liệu @ -moz sẽ chỉ áp dụng cho tên miền có trong ngoặc đơn. Xem các mục in đậm ở trên. Để thay đổi phần đệm cho câu trả lời, bạn cập nhật hộp văn bản như sau:

    @namespace url(http://www.w3.org/1999/xhtml);
    
    @-moz-document domain("superuser.com") {
        .answer {
            padding-bottom:0px;
            padding-top:0px;
        }
    }

    Để giải quyết vấn đề này cho những người không biết CSS, trước tiên chúng tôi chọn lớp (ergo a "." Bắt đầu. Nếu chúng tôi chọn bằng ID, chúng tôi sẽ đặt câu trả lời "#" ở đó.) (vì vậy câu trả lời'). Sau đó, chúng tôi mở một khối với một dấu ngoặc nhọn để liệt kê các thuộc tính của mục đã chọn mà chúng tôi sẽ thay đổi. Đầu tiên, chúng tôi đang thay đổi phần đệm dưới cùng và đặt thành 0 pixel . Sau đó, chúng tôi làm tương tự cho padding-top . Mỗi tài sản và giá trị được kết thúc bằng một dấu chấm phẩy. Sau đó, chúng tôi đóng khối bằng một cái nẹp xoăn. (trong ví dụ unix của bạn, bạn sẽ làm điều này:

    @namespace url(http://www.w3.org/1999/xhtml);
    
    @-moz-document domain("unix.stackexchange.com") {
        body {
            background:none;
        }
    }

    Ở đây bạn đang làm việc trên miền unix.stackexchange.com. Chúng tôi đang chọn phần tử "body" (khi chọn phần tử HTML cũng là một bộ chọn CSS, không cần #s hoặc .s ở đây). Chúng tôi đang đặt nền tảng là không.)

  8. Tôi thu hút sự chú ý của bạn vào các nút ở dưới cùng của cửa sổ chỉnh sửa kiểu. "Xem trước" sẽ ban hành các thay đổi bạn đã nhập, do đó bạn có thể thấy chúng hoạt động. "Lưu" sẽ lưu các thay đổi. "Hủy" là khá rõ ràng. Đối với hầu hết mọi người dùng CSS đang thay đổi, bạn sẽ muốn nhấp vào Xem trước để xem liệu thay đổi có hoạt động theo cách bạn muốn hay không. Trong cả hai ví dụ, bạn sẽ thấy rằng nó không hoạt động. Có một lý do quan trọng cho việc này, mà bây giờ tôi giải quyết.
  9. CSS có một hệ thống phân cấp ưu tiên cụ thể để xác định cách đối phó với CSS của người dùng so với CSS của tác giả so với CSS của trình duyệt. Thông thường, chúng tôi có CSS ​​cho một trang được viết bởi tác giả của trang và điều đó sẽ chứa các quy tắc cho nhiều yếu tố trên trang đó. Khi một quy tắc không được xác định bởi tác giả, nhưng là trong CSS người dùng của bạn, thì trình duyệt của bạn sẽ sử dụng quy tắc đó. Nếu cả hai đều không có CSS ​​được xác định cho thành phần đó, thì trình duyệt sẽ sử dụng các quy tắc CSS mặc định của riêng nó trên thành phần đó. Vì vậy, có một hệ thống phân cấp trọng lượng ở đây, tác giả> người dùng> trình duyệt. Nếu một cái gì đó được xác định trong cả ba, thì CSS có trọng lượng cao hơn sẽ chiến thắng và CSS của nó có hiệu lực. Có một cách để có được CSS trọng lượng thấp hơn để ghi đè CSS có trọng lượng cao hơn và đó là bằng cách chỉ định chúng quan trọng. Bạn làm điều này bằng cách bao gồm "! Quan trọng"

    @namespace url(http://www.w3.org/1999/xhtml);
    
    @-moz-document domain("unix.stackexchange.com") {
        body {
            background:none !important;
        }
    }

    Bây giờ, nhấp vào Xem trước một lần nữa và bạn sẽ thấy rằng CSS người dùng của bạn hoạt động. Nhấp vào Lưu và thưởng thức.

Nếu bạn đang sử dụng Chrome, trình kiểm tra tích hợp sẵn của nó đã rất tốt. Ngoài ra còn có một phần mở rộng thời trang . Bạn nhập các sửa đổi CSS một chút khác nhau: chọn Bộ quản lý các kiểu đã cài đặt, sau đó nhấp vào Viết Viết kiểu mới, nhập các trang web hoặc mẫu URL để áp dụng bài đăng bên dưới hộp mã và chỉ nhập CSS dành riêng cho tên miền vào trong mã hộp, ví dụ

body {
  background:none !important;
}

2

Cài đặt fireorms để xác định thuộc tính CSS có liên quan và sau đó viết tập lệnh greasemonkey để ghi đè lên nó.


2
Sử dụng greasemonkey để tạo cơ hội cho một thuộc tính css giống như sử dụng búa để lái trong vít. Nó hoạt động nhưng nó không thanh lịch và bạn có nhiều khả năng phá vỡ một cái gì đó trên đường đi.
Caleb

2

Bạn làm những gì bạn sẽ làm nếu bạn đang đặt trên trang web

foo.bar { background-pattern:none; }

sau đó thêm

!important 

trước }. Dưới đây là một chi tiết nhỏ về việc sử dụng không sử dụng css mà vẫn giải thích cho việc sử dụng của bạn.

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.