Quy tắc chọn CSS. Giá trị thuộc tính bắt đầu bằng văn bản cụ thể. Bộ chọn lớp và id
Igor. Cập nhật: ngày 30 tháng 10 năm 2018.
Trong bài viết mở đầu phần nàyđã được đưa ra thông tin chung liên quan, bao gồm mô tả về cách kết nối các kiểu với mã HTML của trang web (tài liệu), xác định sự hiện diện của các thành phần nhất định trên trang web.
Trong ấn phẩm này, chúng ta sẽ xem xét cách soạn và viết chính xác Thuộc tính CSS cho tất cả các phần tử để trình duyệt có thể nhận dạng và hiển thị chúng một cách chính xác trên trang.
Cụ thể, chúng ta hãy xem quy tắc một kiểu nói chung là gì, bao gồm bộ chọn, cũng như các thuộc tính và giá trị của chúng.
Cú pháp và các tùy chọn viết quy tắc CSS
Vì các biểu định kiểu xếp tầng, mặc dù là một ngôn ngữ chuyên biệt, nhưng vẫn là một ngôn ngữ, nên có thể đưa ra sự tương đồng giữa tập hợp các quy tắc CSS và trong văn bản thuần túy, trong đó mỗi từ bao gồm các chữ cái, câu bao gồm các từ và đoạn văn bản- từ các đề xuất.
Với sự liên kết trực quan này, chúng ta có thể rút ra một chuỗi logic liên quan đến cấu trúc CSS (theo ý kiến khiêm tốn của tôi, đây là cách tối ưu nhất):
- giá trị (hoặc tham số), được thể hiện bằng số, mã màu, tên phông chữ, v.v., theo cách tương tự của chúng tôi, có thể được coi là các chữ cái;
- Đơn vị cấu trúc của CSS là tài sản, xác định phần diện mạo của một thành phần trên trang (màu sắc, phông chữ văn bản, kích thước, mức thụt lề, vị trí, v.v.), tương ứng với các giá trị cụ thể (một hoặc nhiều). Ở đây, sự kết hợp giữa tên thuộc tính và tham số của nó có thể được so sánh với một từ (cũng có thể bao gồm một hoặc nhiều chữ cái) trong một đoạn văn bản tiêu chuẩn;
- Quy tắc CSS - bộ chọn(tên kiểu) cùng với tập hợp thuộc tính CSSđối với mỗi phần tử, nó xác định hoàn toàn thiết kế và vị trí của nó trên trang. Được liên kết về mặt cấu trúc với một câu (một tập hợp các từ riêng lẻ trong văn bản thông thường);
- một bộ sưu tập đầy đủ tất cả các quy tắc CSSđối với một tài liệu cụ thể (trang web) đảm bảo nó hiển thị chính xác trong trình duyệt. Hãy so sánh điều này với một đoạn văn bản đã hoàn thành.
Có lẽ sự liên kết mà tôi đề xuất hơi xa vời nhưng tôi nghĩ nó vẫn sẽ giúp người mới bắt đầu hiểu được cấu trúc chung của ngôn ngữ CSS.
Vì vậy, mỗi thuộc tính được gán một giá trị (tham số) cụ thể và có thể có một vài giá trị trong số đó. Tập thuộc tính (quy tắc) tương ứng được áp dụng cho một bộ chọn cụ thể. Về mặt sơ đồ, một quy tắc CSS có thể được hiển thị như sau::
Một bộ chọn được đặt phía trước, sau đó đặt các dấu ngoặc nhọn (mở và đóng), giữa đó có các thuộc tính CSS với các giá trị được gán, tên của mỗi thuộc tính được phân tách khỏi tham số tương ứng của nó bằng dấu hai chấm. Tất cả các thuộc tính cùng với giá trị của chúng được phân tách bằng dấu chấm phẩy. Hãy xem một ví dụ trực tiếp:
Nội dung ( cỡ chữ: 14px; nền: #00ff00 url("west.png") lặp lại-x; )
Xin lưu ý rằng thuộc tính nền có một số giá trị: màu nền (#00ff00), đường dẫn đến hình nền ("west.png") và độ phân giải để lặp lại theo chiều ngang (repeat-x). Bạn có thể nhận thấy rằng tùy chọn ghi này hơi khác so với sơ đồ được trình bày ở trên.
Trên thực tế, không có sự mâu thuẫn nào ở đây. Vì CSS không nhạy cảm với dấu cách, ngắt dòng hoặc tab nên các quy tắc kiểu có thể được viết theo nhiều cách khác nhau để phù hợp với các tình huống cụ thể.
Ví dụ: một mục nhập quy tắc mở rộng, một mẫu vừa được trình bày, là thuận tiện nhất cho việc nhận thức và do đó thường được sử dụng để nghiên cứu các kiểu hoặc trong tệp style.css "thô", được tạo cho một mục nhập mới trang web và do đó vẫn chưa được hoàn thiện. Có một biến thể khác của mục nhập quy tắc CSS tương tự này:
Nội dung ( cỡ chữ: 14px; ) nội dung ( nền: #00ff00 url("west.png") lặp lại-x; )
Như bạn có thể thấy, cùng một bộ chọn được lặp lại cho mỗi thuộc tính. Đây không phải là lỗi vì những lý do đã đề cập ở trên, nhưng định dạng viết quy tắc này làm lộn xộn mã và làm phức tạp nhận thức của nó, và do đó thực tế không được sử dụng.
Một phiên bản mở rộng của ký hiệu có thể được trình bày mà không cần gạch nối:
Nội dung ( cỡ chữ: 14px; nền: #00ff00 url("west.png") lặp lại-x; )
Nhưng đó không phải là tất cả. Có thể bỏ qua tất cả dấu cách cũng như ký tự phân tách (dấu chấm phẩy) sau thuộc tính cuối cùng (trước dấu ngoặc nhọn đóng). Điều này cũng khá chính đáng Hình dạng CSS quy tắc, ít đồ sộ hơn, tốt cho việc tối ưu hóa trang web nhưng khó đọc hơn:
Nội dung(cỡ chữ:14px;nền:#00ff00 url("west.png") lặp lại-x)
Sau khi thiết kế trang web đã sẵn sàng và mọi thứ đã được nhập sự thay đổi cần thiết trong các tệp kiểu CSS, chúng được điều chỉnh tương ứng để tối ưu hóa tài nguyên web, đồng thời tất cả các khoảng trắng sẽ tự động bị xóa. Việc này có thể được thực hiện thủ công nhưng tại sao lại lãng phí thời gian quý báu một cách vô lý như vậy? Xét cho cùng, ngay cả đối với một trang web nhỏ, tệp style.css có thể chứa nhiều quy tắc kiểu.
Bộ chọn, Thuộc tính và Áp dụng Kiểu
Tôi đã lưu ý rằng theo thời gian, HTML và CSS ngày càng hội tụ chặt chẽ hơn. Nếu vào buổi bình minh của Internet ở dạng hiện tại, sự xuất hiện của các thành phần trên trang web được mô tả bằng thuộc tính thẻ đánh dấu siêu văn bản, thì những ngày này cũng vậy sử dụng thường xuyên Phương pháp này được xem xét vì mã HTML quá tải thường không góp phần tối ưu hóa đúng cách các trang của trang web, điều này cũng gây hại cho việc quảng bá SEO của nó.
CSS (mã định danh được đặt trước biểu tượng băm):
#area (màu: xanh lá cây; đường viền: 2px Solid #d6c99a)
Các tùy chọn sau có thể chứa cả bộ chọn thẻ và các lớp có mã định danh.
Tại sao các tùy chọn kích thước này lại cần thiết? Sự thật là không phải lúc nào cũng vậy giải pháp tốt nhất là việc sử dụng các giá trị tương đối tiêu chuẩn, bao gồm cả tỷ lệ phần trăm. Đôi khi sẽ có lợi hơn nếu liên kết kích thước phông chữ với chiều cao và chiều rộng của cửa sổ trình duyệt. Giả sử, nếu chiều cao khung nhìn là 800px thì 1vh = 8px và nếu chiều rộng là 1500px - 1vw = 15px.
Đơn vị vmin và vmax được xác định bởi giá trị cực tiểu và kích thước tối đa các vùng có chiều cao và chiều rộng. Mẫu: Chiều cao cửa sổ trình duyệt là 700px và chiều rộng là 1300px. Trong trường hợp này vmin = 7px và vmax = 13px.
Khi thiết lập kích thước, bạn phải chỉ định đơn vị (ví dụ: chiều cao: 55px), nếu không trình duyệt sẽ hiển thị không chính xác các phần tử tương ứng. Ý nghĩa, bằng 0, không áp dụng cho quy tắc này, chúng có thể được chỉ định theo hai cách (phần đệm: 0 hoặc phần đệm: 0px), vì lý do hiển nhiên, tùy chọn đầu tiên dẫn đầu với lợi thế áp đảo.
Quan tâm
Tôi quyết định đề cập riêng đến loại đơn vị này. Ở trên tôi đã nói về lợi ích của việc sử dụng giá trị tương đối khi thiết lập thuộc tính. Điều này hoàn toàn áp dụng cho lãi suất.
Bảng (chiều rộng: 100%; /* Chiều rộng bảng tính theo phần trăm */)
Các mục phần trăm được sử dụng khá thường xuyên, đặc biệt khi cần đặt giá trị tương ứng với giá trị gốc hoặc khi kích thước phụ thuộc vào một số trường hợp bên ngoài nhất định. Ví dụ: chiều rộng phần tử bằng 100% sẽ thích ứng với màn hình của nhiều loại thiết bị và được hiển thị chính xác ở đó.
Từ khóa
Chúng ta hãy xem xét một số từ đóng vai trò là tham số thuộc tính và xác định vị trí hoặc hình thức này hoặc hình thức khác của một phần tử. Dưới đây là một số ví dụ minh họa.
1. Giá trị thuộc tính căn chỉnh văn bản, giúp căn chỉnh văn bản theo chiều ngang: center | biện minh | trái | đúng | bắt đầu | kết thúc. Đây là một ví dụ với tham số biện minh:
P (căn chỉnh văn bản: căn đều)
Ký hiệu này có nghĩa là văn bản đoạn văn được căn chỉnh cả bên trái và bên phải:
2. Màu hiện tại- khớp với giá trị thuộc tính màu của phần tử hiện tại và chỉ định màu cho các khu vực không nhận được màu theo mặc định. Giả sử một thùng chứa có lớp "bl-2" được lồng trong "bl-1":
Và phong cách được chỉ định cho cả hai:
Bl-1 ( đệm: 10px; /* Lề xung quanh vùng chứa bên trong */ nền: currentColor; /* Màu nền */ ) .bl-2 ( color: blue; /* Màu văn bản */ đệm: 10px; /* Lề xung quanh văn bản */ nền: #ccc; /* Màu nền */ )
Nếu không có màu văn bản nào được chỉ định cho một phần tử (thuộc tính “color”) thì theo mặc định đoạn văn bản sẽ có màu đen (trong hầu hết các phần tử). trình duyệt phổ biến). Trong ví dụ của chúng tôi, đối với vùng chứa bên ngoài (“bl-1”) bị thiếu màu. Kết quả là, khi chỉ định giá trị “currentColor”, nền của vùng chứa này sẽ trở thành màu đen:
3. Thừa kế là từ khóa làm tham số của các giá trị tương ứng của phần tử cha. Vật mẫu:
Và các quy tắc CSS cho nó:
Bl-1 ( viền: 4px màu đỏ đặc; đệm: 10px; ) .bl-2 ( viền: kế thừa; đệm: kế thừa; )
Kết quả là thiết kế đường viền và phần đệm đã được chuyển từ khối cha (bl-1) sang khối bên trong (bl-2):
4. Ban đầu- được sử dụng trong trường hợp cần thiết lập các tham số ban đầu của thuộc tính. Ví dụ: nó giúp khôi phục các giá trị mặc định do trình duyệt đặt hoặc xác định thông số ban đầu, đã được thay đổi do sự kế thừa. Ví dụ:
Tùy chọn thuộc tính CSS
Có rất nhiều ý nghĩa khác nhau quyết định phong cách nhất định, xác định sự xuất hiện của các thành phần trên trang web.
Đọc thêm chi tiết
Và phong cách cho nó:
H2 ( màu: #2e15d1; họ phông chữ: Verdana, sans-serif; ) p ( màu: xanh lá cây; ) .init ( màu: ban đầu; họ phông chữ: ban đầu; )
Bằng cách sử dụng lớp "init", hình thức của đoạn đoạn p được đính kèm trong thẻ span và tiêu đề dưới cùng H2 được thay đổi để phù hợp với cài đặt kiểu dáng mặc định của chúng.
5. Bỏ đặt là một tham số về cơ bản là sự “lai” giữa kế thừa và ban đầu. Xác định tham số thuộc tính là kế thừa nếu thuộc tính được kế thừa từ cha mẹ, nếu không thì là thuộc tính ban đầu.
ví dụ 1(hoạt động như kế thừa):
Màu văn bản xanh lục - kế thừa giá trị của thuộc tính "color" cho lớp "zzz"
Màu văn bản là màu đỏ theo giá trị của thuộc tính "color" cho thẻ p
P (màu: đỏ) .zzz (màu: xanh lá cây) .xxx p (màu: chưa đặt)
Theo quy tắc CSS thuộc tính màu sắc được kế thừa, vì vậy "unset" trong ví dụ của chúng ta sẽ trả về màu xanh lá cây văn bản cho vùng chứa "xxx" là con của "zzz":
Ví dụ 2(hoạt động như ban đầu):
Màu khung là đen - giá trị mặc định
Màu đường viền (màu xanh) được đặt trong thuộc tính của vùng chứa div
Div ( border: 2px màu xanh đậm; lề-dưới: 10px; lề trên: 10px; phần đệm: 10px; ) .xxx ( border-color: unset; )
Vì theo quy tắc của tờ định kiểu thuộc tính biên giới không được thừa kế, thì “border-color: unset” sẽ trả màu đường viền về giá trị mặc định, tức là nó trở thành màu đen.
URL hoặc địa chỉ
Tham số này chứa và được sử dụng khi bạn cần, ví dụ, để trỏ đến một tệp có hình ảnh (đọc với sử dụng HTML thẻ img). Trong trường hợp này nó được sử dụng từ khóa url(), trong đó giữa dấu ngoặc và đường dẫn đến tệp đồ họa được chỉ định:
Nội dung ( nền: url(https://site/images/star.jpg) không lặp lại; /* Đường dẫn tuyệt đối */ ) div ( nền: url(images/globus.jpg) không lặp lại; /* Đường dẫn tương đối * / )
Thời gian
Được sử dụng, ví dụ, khi thực hiện hiệu ứng hoạt hình(vâng, vâng, trên CSS thuần túy bây giờ bạn có thể tạo những thứ như vậy), trong đó các tham số được chỉ định bằng giây (s) hoặc mili giây (ms). Giá trị có thể là số nguyên hoặc số phân số. Đồng thời, chúng ta phải nhớ rằng không được có khoảng cách giữa số và đơn vị đo (2s, 50ms)./p>
Hãy xem một ví dụ.
Và theo đó, phong cách cho nó:
Đang tải ( width: 440px; lề: auto; đệm: 20px; nền: #c49746; color: #fff; text-align: center; ) .spin ( display: inline-block; width: 70px; Height: 70px; border: 10px double #ccc; border-right: 10px double trong suốt; bán kính đường viền: 70px; /* Animation */ animation: spin 5s tuyến tính 0s vô hạn bình thường; ) /* Đặt xoay */ @keyframes spin ( từ ( biến đổi: xoay( 0deg); ) thành ( biến đổi: xoay(360deg); ) )
TRÊN trang này Bạn không chỉ có thể nhìn vào kết quả mà còn có thể cố gắng chỉnh sửa một số thuộc tính, có thể nói, trong thực tế, nói chung, hãy thử nghiệm. Đương nhiên, những người mới bắt đầu nghiên cứu các biểu định kiểu xếp tầng vẫn khó hiểu và tính đến sự tinh tế của hoạt hình, nhưng chắc chắn sẽ có phần tiếp theo, vì vậy hãy nhớ đăng ký các tài liệu mới để có được thứ bạn muốn đúng hạn. Nhưng hãy tiếp tục.
Dây
Loại tùy chọn này cho phép bạn thêm các đoạn văn bản. Chuỗi phải được đặt trong dấu ngoặc kép (đơn hoặc kép). Hơn nữa, nếu bạn cần đặt một từ hoặc cụm từ trong dấu ngoặc kép bên trong một chuỗi thì có thể kết hợp các loại dấu ngoặc kép này.
Ví dụ: nếu bạn đặt toàn bộ dòng trong dấu ngoặc đơn thì đoạn văn bản bên trong sẽ nằm trong dấu ngoặc kép và ngược lại. Nó cũng được phép sử dụng cùng loại, chỉ trong trường hợp này cần phải thoát dấu ngoặc kép bên trong bằng cách thêm dấu gạch chéo ngược “\” trước chúng:
- thuộc tính: "chuỗi 'nội dung'"
- thuộc tính: "chuỗi 'nội dung'"
- thuộc tính: "chuỗi\"nội dung\""
Để bắt đầu, mã HTML:
Phiên bản hiện tại bài viết.
Và bây giờ là các phong cách:
Mới::sau ( nội dung: "đã cập nhật"; màu: đỏ; )
Màu sắc
Nhiều tham số khác nhau có thể được sử dụng để biểu thị màu sắc cho các thuộc tính khi viết quy tắc CSS. Chúng ta hãy xem xét ngắn gọn về từng người trong số họ:
1. Tên. Đúng, không phải tất cả các sắc thái đều có thể được chỉ định theo cách này mà chỉ một số sắc thái (“đỏ” - đỏ, “xanh” - xanh lá cây, “đen” - đen, “cam” - cam, “vàng” - vàng, “ ô liu” - ô liu và một số loại khác). Chúng cũng có thể được phân loại là từ khóa.
P (màu sắc: xanh lá cây)
2. thập lục phân ( mã thập lục phân) . Cơ sở của hệ thập lục phân, trái ngược với hệ thập phân nổi tiếng, là 16 ký tự: 10 số (từ 0 đến 9) và 6 chữ cái đầu tiên của bảng chữ cái Latinh (A, B, C, D, E, F ). Các chữ cái từ A đến F tương ứng với các số từ 10 đến 15.
P (màu: #f8f9e3)
3.1. RGB— bạn có thể đặt giá trị màu dựa trên hệ thập phân. Tên phương pháp này là tên viết tắt của ba màu chính có liên quan: R ed (màu đỏ), G reen (màu xanh lá cây), B lue (màu xanh). Các sắc thái của mỗi màu nằm trong khoảng từ 0 đến 255. Để sử dụng hệ thống này, bạn cần viết rgb ở phía trước và chỉ ra từng thành phần màu trong ngoặc: rgb (240, 0, 180). Cũng có thể sử dụng tỷ lệ phần trăm:
Div ( màu nền: rgb (210, 0, 90); màu: rgb (100%, 50%, 15%); )
3.2. RGBA- Phiên bản mở rộng của phương pháp RGB trước đó, nó chứa kênh alpha đặt độ trong suốt của phần tử trong phạm vi từ 0 đến 1. Tham số "0" hoàn toàn trong suốt và "1" hoàn toàn mờ đục.
Phần thân (màu nền: rgba (255,255,255,.9))
4.1. HSL— tên của phương pháp này cũng không gì khác hơn là một từ viết tắt bao gồm các chữ cái đầu tiên của ba từ: H ue (hue), S bão hòa (bão hòa) và L sự nhẹ nhàng (sự nhẹ nhàng). Chính những đặc điểm này cùng nhau quyết định màu sắc cuối cùng. Trong trường hợp này, bóng nằm ở một vị trí cụ thể trên bánh xe màu:
Vì toàn bộ vòng tròn là 360°, mỗi màu sắc (sắc độ) tương ứng với một giá trị rất cụ thể theo độ từ 0° đến 359°. Trong trường hợp này, các thông số của các sắc thái chính như sau: 0° - đỏ, 120° - xanh lá cây, 240° - xanh lam.
Độ bão hòa và độ sáng được đo bằng phần trăm (từ 0 đến 100%). Đối với bão hòa, tham số 0 có nghĩa là không dải màu và 100% là màu bão hòa nhất. Làm sao nhiều giá trị hơnđộ sáng, tông màu càng nhạt, 0 tương ứng với màu đen và 100% tương ứng với màu trắng.
Div (màu nền: hsl(40,90%,15%))
4.2. HSLA- tương tự như RGBA, nó là phiên bản mở rộng của HSL, có thêm chỉ báo độ trong suốt.
Div (màu: hsla(120,100%,50%,0.6))
Góc quay hoặc nghiêng
Trong CSS, các đặc điểm góc (dựa trên hình tròn) có thể được sử dụng làm tham số cho một số thuộc tính nhất định. Dưới đây là các đơn vị được sử dụng:
- độ - độ(1 vòng tròn đầy đủ là 360 độ);
- tốt nghiệp - tốt nghiệp(vòng tròn đầy đủ 400grad);
- radian - rad. Toàn bộ một vòng tròn bằng 2π (xấp xỉ 6,2832rad);
- lần lượt - xoay(1 lượt bằng 1 lượt đầy đủ).
Điều quan trọng cần lưu ý là giá trị âm có thể được sử dụng. Dưới đây được đưa ra ví dụ minh họa với các thông số của một số góc (xoay):
Để rõ ràng, hãy sử dụng các đặc tính xoay để thực hiện Gradient điền nền và là một trong các thành phần của mẫu, chúng tôi sẽ đặt một số văn bản nhất định trên trang:
Đổ nền gradient.
Bây giờ hãy tạo quy tắc CSS cho nền này:
Nội dung ( nền: #f5e573; nền: gradient tuyến tính(-5deg, #f5e573, #f7f4db 50%, #f7f6eb); )
Bạn có thể đánh giá kết quả tại trang này và thực hành ở đó, chỉnh sửa các kiểu theo ý muốn. Điều này cũng sẽ hữu ích cho việc đạt được các kỹ năng thực tế.
CSS chứa các quy tắc kiểu được trình duyệt diễn giải và sau đó áp dụng cho các thành phần thích hợp trong tài liệu của bạn. Một quy tắc kiểu bao gồm ba phần:
- Bộ chọn là thẻ HTML mà kiểu sẽ được áp dụng. Đây có thể là bất kỳ thẻ nào, ví dụ:
hoặc
vân vân.
- Tài sản là một loại thuộc tính của thẻ HTML. Nói một cách đơn giản, tất cả các thuộc tính trong HTML đều được chuyển đổi thành thuộc tính CSS. Đây có thể là màu sắc, đường viền, phần đệm, v.v.
- Nghĩa- được đặt thành thuộc tính. Ví dụ: thuộc tính màu có thể là màu xanh lá cây, #008000, v.v.
Cú pháp của bộ chọn trong CSS như sau:
Bộ chọn (thuộc tính: giá trị)
Ví dụ. Bạn có thể đặt đường viền bảng như thế này:
Bảng ( border: 2px Solid #FF8C00; )
Cú pháp của bộ chọn ở đây là: bảng là bộ chọn và đường viền là thuộc tính và 2px Solid #FF8C00 là giá trị của thuộc tính đó.
Bạn có thể chỉ định bộ chọn những cách khác, vì nó sẽ thuận tiện cho bạn. Dưới đây là các loại bộ chọn.>
Bộ chọn tiêu chuẩn
Đây chính là bộ chọn mà bạn đã thấy ở trên. Một lần nữa, một ví dụ khác để tô màu cho tất cả các tiêu đề cấp một:
H1 ( màu: #8B4513; )
Bộ chọn phổ quát
Thay vì chọn các phần tử của một loại cụ thể, bộ chọn phổ quát khá đơn giản khớp với tên của bất kỳ loại phần tử nào:
* ( màu: #808080; )
Quy tắc này hiển thị nội dung của từng thành phần trong tài liệu của chúng tôi bằng màu xám.
Bộ chọn con cháu hoặc bộ chọn lồng nhau
Giả sử bạn chỉ muốn áp dụng quy tắc kiểu cho một phần tử nhất định khi nó nằm bên trong một phần tử nhất định thì các bộ chọn lồng nhau hoặc bộ chọn con sẽ giúp bạn thực hiện điều này. Như trong ví dụ sau, quy tắc kiểu sẽ được áp dụng cho phần tử chỉ khi nó ở trong một thẻ
- .
Ul em ( color: #CD5C5C; )
Bộ chọn lớp
Bạn có thể đặt quy tắc kiểu cho các thành phần dựa trên thuộc tính lớp. Tất cả các phần tử có lớp này sẽ được định dạng theo một quy tắc nhất định.
Màu xanh (màu: #0000FF; )
lớp="màu xanh". Bạn có thể làm cho bộ chọn lớp cụ thể hơn một chút. Ví dụ:
H1.blue ( màu: #0000FF; )
với thuộc tính lớp="màu xanh".
Bạn có thể áp dụng nhiều bộ chọn lớp cho một phần tử. Hãy xem xét ví dụ sau:
Đoạn này sẽ được định dạng với các lớp trung tâm Và in đậm.
bộ chọn ID
Bạn có thể đặt quy tắc kiểu cho các thành phần dựa trên thuộc tính id. Tất cả các phần tử có ID này sẽ được định dạng theo một quy tắc nhất định.
#xanh (màu: #0000FF; )
Quy tắc này hiển thị nội dung trong tài liệu của chúng tôi trong màu xanh da trời cho mỗi phần tử có thuộc tính id="màu xanh". Bạn có thể làm cho bộ chọn id cụ thể hơn một chút. Ví dụ:
H1#xanh ( màu: #0000FF; )
Quy tắc này chỉ hiển thị nội dung màu xanh lam cho các phần tử
với thuộc tính id="màu xanh".
Sức mạnh thực sự của bộ chọn id là khi chúng được sử dụng làm cơ sở cho bộ chọn con cháu, ví dụ:
#blue h2 ( màu: #0000FF; )
Trong ví dụ này, tất cả các tiêu đề cấp hai sẽ xuất hiện màu xanh lam khi chúng ở trong các thẻ có thuộc tính id="màu xanh".
Bộ chọn con
Bạn đã biết bộ chọn con cháu. Có một loại bộ chọn khác rất giống với bộ chọn con nhưng có chức năng khác, đó là bộ chọn con. Hãy xem xét ví dụ sau:
Thân > p ( màu: #0000FF; )
Quy tắc này sẽ hiển thị tất cả các đoạn văn có màu xanh lam nếu chúng là phần tử con trực tiếp của phần tử
. Các đoạn văn khác được đặt bên trong các phần tử kiểu kháchoặcBộ chọn liền kề
Các phần tử HTML nối tiếp nhau được gọi là các phần tử liền kề. Hãy xem xét ví dụ sau:
Mạnh + em ( color: #0000FF; )
Quy tắc này sẽ hiển thị nội dung của thẻ màu xanh lam nếu nó đứng sau phần tử . Các thẻ khác , không theo sau thẻ , sẽ không có hiệu lực của quy tắc này.
Bộ chọn thuộc tính
Bạn cũng có thể áp dụng kiểu cho các thành phần HTML với các thuộc tính nhất định. Quy tắc kiểu bên dưới sẽ khớp tất cả các phần tử đầu vào có thuộc tính loại với văn bản giá trị:
Đầu vào ( màu: #0000FF; )
Ưu điểm của việc sử dụng bộ chọn thuộc tính là phần tử không thay đổi và màu chỉ được áp dụng cho các trường văn bản mong muốn.
Các quy tắc sau áp dụng cho bộ chọn thuộc tính:
- p - chọn tất cả các thành phần đoạn có thuộc tính lang.
- p - chọn tất cả các thành phần đoạn văn có thuộc tính lang giá trị chính xác"ru".
- p - chọn tất cả các thành phần đoạn trong đó thuộc tính lang chứa từ "ru".
- p - chọn tất cả các thành phần đoạn trong đó thuộc tính lang chứa các giá trị chính xác là "ru" hoặc bắt đầu bằng "ru".
Một số quy tắc về phong cách
Bạn có thể cần xác định nhiều quy tắc kiểu cho một phần tử. Bạn có thể xác định các quy tắc này để kết hợp nhiều thuộc tính và các giá trị tương ứng của chúng thành một khối duy nhất, như trong ví dụ sau:
H1 ( màu: #00CED1; khoảng cách chữ: .2em; chuyển đổi văn bản: chữ thường; lề dưới: 2em; độ dày phông chữ: 700; )
Tất cả các cặp thuộc tính và giá trị được phân tách bằng dấu chấm phẩy (;). Bạn có thể lưu trữ chúng trên một dòng hoặc nhiều dòng. Để dễ đọc hơn, hãy giữ chúng trên các dòng riêng biệt.
Đừng lo lắng về các thuộc tính được đề cập trong khối trên. Những tính chất này sẽ được giải thích trong các bài học sau.
Nhóm các bộ chọn trong CSS
Bạn có thể tạo kiểu cho nhiều bộ chọn nếu muốn. Chỉ cần phân tách các bộ chọn bằng dấu phẩy, như trong ví dụ sau:
H1, h2, h3 ( color: #00CED1; khoảng cách chữ: .2em; chuyển đổi văn bản: chữ thường; lề dưới: 2em; font-weight: 700; )
Quy tắc kiểu này sẽ được áp dụng cho các phần tử h1, h2 và h3. Thứ tự của danh sách không quan trọng khi nhóm các bộ chọn. Tất cả các phần tử trong bộ chọn sẽ được áp dụng các khai báo tương ứng.
Bạn có thể nhóm các id bộ chọn khác nhau lại với nhau như dưới đây:
#header, #content, #footer (vị trí: tuyệt đối; chiều rộng: 300px; trái: 250px; )
CSS - Biểu định kiểu xếp tầng.
Chú ý! Bạn không có quyền xem văn bản ẩn.
Thế giới CSS- đây là một thế giới kỳ diệu của sự kết hợp vô tận giữa các thuộc tính và hình thức (kiểu dáng) của các đồ vật và thành phần. Và nhân vật quan trọng nhất trong CSS “kỷ niệm sự sống” này chính là Bộ chọn CSS.Bộ chọn trong CSS - thuật ngữ và định nghĩa
Như bạn đã biết, kiểu dáng (hình thức và tính chất) của các phần tử
có thể có , và .Các kiểu dựng sẵn Các kiểu dựng sẵn được chỉ định trực tiếp trong các thẻ HTML và có lẽ là cách dễ nhất để sử dụng chúng. Hiệu ứng của kiểu nội tuyến chỉ áp dụng cho phần tử HTML có thẻ mở được chèn (được nhúng). Ví dụ: đây là mã: chữ- sẽ chỉ tạo nền màu đỏ bên trong phần tử span và không có gì hơn thế. Kết quả - văn bản Kiểu nội bộ Kiểu nội bộ được chỉ định riêng mã đáng giá, có thể nằm trong mã nguồn của trang web ở bất kỳ đâu nó muốn - ở đầu trang, ở cuối hoặc ở giữa. Ví dụ về mã kiểu nội bộ:
Phong cách bên ngoài Hầu hết lựa chọn khó khăn- đây là những phong cách bên ngoài. Khi sử dụng kiểu bên ngoài, mã cho từng kiểu được viết bằng tập tin bên ngoài với phần mở rộng ".css". Có thể có một số tệp như vậy và chúng có thể được đặt ở bất kỳ đâu, ngay cả trên một trang web khác.Không giống như kiểu nội tuyến, hiệu ứng của mã kiểu bên trong và bên ngoài được áp dụng cho toàn bộ trang web cùng một lúc. Trong trường hợp này, trên chính trường của trang web có thể có số lượng lớn các phần tử HTML tương tự khác nhau. Để cho trình duyệt biết chính xác phần tử mà một kiểu cụ thể thuộc về, Công nghệ CSS các lớp, các lớp giả, các định danh và bộ chọn. Do đó, "bộ chọn CSS" là ký hiệu được sử dụng để mô tả một phần tử hoặc nhóm phần tử được áp dụng quy tắc kiểu đã chỉ định.
Ghi chú Công bằng mà nói, cần lưu ý rằng những thứ như lớp và mã định danh thuộc về mã HTML nhiều hơn là kiểu CSS. Và chỉ có “bộ chọn CSS” và các lớp giả mới thực sự là sự phát triển CSS. Đó chính xác là những gì chúng ta đang nói đến.
Bộ chọn trong CSS - “suy nghĩ dọc theo cây”
Dựa vào những điều trên, cá nhân tôi đã định nghĩa khái niệm thuật ngữ “selector in CSS” như sau:
"bộ chọn trong CSS" là một dấu hiệu dịch vụ cho trình duyệt biết vị trí và cách áp dụng kiểu phần tử HTML đã chỉ định.
Như trong cuộc sống bình thường, nó chỉ có nghĩa là một lựa chọn tầm thường của một phần tử HTML để gán kiểu tiếp theo (giao diện, thuộc tính, v.v.).
Tại sao bạn cần bộ chọn trong CSS?
Bộ chọn trong CSS là một loại - Kết nối với đường dẫn giữa mã CSS và HTML. Bằng cách đặt bộ chọn (bằng cách chọn một phần tử), chúng tôi chỉ ra cho trình duyệt vị trí, đối tượng và quy tắc để áp dụng các thuộc tính (kiểu CSS) được chỉ định. Để chuyển từ mọt sách sang thực hành, có lẽ sẽ phù hợp nếu bạn nhớ cuộc sống trong CSS mà không cần bộ chọn.
Thuộc tính chung trong CSS
(cuộc sống không có sự lựa chọn)Cuộc sống không có bộ chọn là có thể! Nhưng đây có phải là cuộc sống? Nếu không có bộ chọn, Cascading Style Sheets (CSS) sẽ mất hoàn toàn ý nghĩa của chúng. Đầu tiên, chỉ có thể viết tên của thẻ thực từ đặc tả thực hiện có vào tên lớp mà không cần bộ chọn. Thứ hai, bản ghi như vậy sẽ áp dụng hoàn toàn cho tất cả các thẻ có tên được chỉ định trên trang HTML chỉ có thể tìm thấy ở đó.
Ví dụ: một bản ghi như:
A(background:#000;) - sẽ sơn tất cả các liên kết trên trang bảng màu đen(background:#000;) - sẽ sơn tất cả các bảng trên trang màu đen div(background:#000;) - sẽ sơn tất cả các khối màu đen ( divs ) trên một trang web, v.v.
Nói tóm lại, tất cả các kiểu và thuộc tính CSS được chỉ định sẽ được áp dụng không có chọn lọc mà trên toàn cầu, lan tỏa hiệu ứng của chúng đến tất cả các thẻ trang cùng một lúc...Tất nhiên, việc ghi âm không có bộ chọn như vậy có sức hấp dẫn riêng. Suy cho cùng, đây là cách CSS khai báo các kiểu chung cho tất cả các đối tượng HTML. Ví dụ phổ biến nhất của việc khai báo các thuộc tính toàn cục là việc thiết lập lại các thụt đầu dòng (lề và phần đệm) trên nhiều trình duyệt. Mã CSS của nó trông giống như thế này: html,body,div,ul,li,dl,dt,h1,h2,h3,h4,h5,h6(margin:0;padding:0;), mặc dù có thể có những lựa chọn khác. Một ví dụ phổ biến khác về cài đặt (kiểu) chung ảnh hưởng đến tất cả các đối tượng HTML trên trang là định dạng các đối tượng mới trên nhiều trình duyệt: đầu trang,phần,chân trang,sang một bên,điều hướng,bài viết(hiển thị:khối;). Ở đây, một lần nữa, các lựa chọn khác cũng có thể thực hiện được.
Tuy nhiên, trong mọi trường hợp, tất cả những thứ này sẽ là kiểu CSS chung được đặt cho toàn bộ tài liệu web - các thuộc tính áp dụng cho tất cả các thẻ và thành phần được chỉ định của trang HTML. Nhưng để Cài đặt CSS chỉ ảnh hưởng đến phần tử hoặc nhóm mong muốn được chỉ định phần tử HTML- yêu cầu bộ chọn.
Bộ chọn trong CSS là gì
Hãy tóm tắt.
Đầu tiên. Mã của chính phần tử HTML và mã kiểu của nó có thể được đặt ở những vị trí khác nhau trên trang web, trang web và thậm chí trên các trang web khác nhau.
Thứ hai. Để xác định một phần tử HTML, nó được cung cấp một lớp hoặc mã định danh, mã này được thêm vào mã của phần tử HTML.
Xin chào các độc giả thân mến. Trong các bài viết trước, chúng ta chủ yếu nghiên cứu các thuộc tính kiểu CSS. Hiện có rất nhiều trong số họ. Một số đặt tham số phông chữ, số khác đặt tham số nền và số khác nữa đặt tham số thụt lề và khung.
Trong bài viết này chúng ta sẽ nói về bộ chọn kiểu. Trong một trong những bài viết chúng tôi đã đề cập đến. Hôm nay chúng ta sẽ xem xét thêm một số loại bộ chọn không liên kết rõ ràng quy tắc kiểu với thành phần trang web. Đây được gọi là bộ chọn đặc biệt. Có một số loại trong số họ.
Bộ kết hợp trong CSS (Bộ chọn liền kề, con và bối cảnh)
Máy kết hợp là một loại bộ chọn CSS liên kết quy tắc kiểu với thành phần trang web dựa trên vị trí của nó so với các thành phần khác.
Biểu tượng tổ hợp đầu tiên thêm(+) hoặc bộ chọn liền kề. Plus được đặt giữa hai bộ chọn:
<селектор 1> + <селектор 2> { <стиль> }
Phong cách trong trường hợp này được áp dụng cho bộ chọn 2, nhưng chỉ khi nó liền kề với bộ chọn 1 và đến ngay sau nó. Hãy xem một ví dụ:
mạnh mẽ + tôi (
}
...
Đây là văn bản bình thường. Cái này hình nhỏ, văn bản thô, văn bản màu đỏ
Đây là văn bản bình thường. Đây là văn bản in đậm, văn bản thô, và đây là văn bản bình thường.
Kết quả:
Kiểu được mô tả trong ví dụ sẽ chỉ được áp dụng cho văn bản đầu tiên được đính kèm trong thẻ , bởi vì nó xuất hiện ngay sau thẻ .
Bộ kết hợp dấu ngã(~) cũng áp dụng cho các bộ chọn liền kề, nhưng lần này có thể có các phần tử khác giữa chúng. Trong trường hợp này, cả hai bộ chọn phải được lồng trong cùng một thẻ cha:
<селектор 1> ~ <селектор 2> { <стиль> }
Kiểu này sẽ được áp dụng cho bộ chọn 2 cái nào nên theo sau bộ chọn 1. Hãy xem xét một ví dụ:
mạnh mẽ~tôi(
màu đỏ; /* Màu chữ đỏ */
}
...
Đây là văn bản bình thường. Đây là văn bản in đậm, văn bản thô, văn bản màu đỏ quy tắc chọn liền kề được áp dụng cho nó.
Đây là văn bản bình thường. Đây là văn bản in đậm, văn bản thô, và đây là dòng chữ màu đỏ.
Kết quả:
Như bạn có thể thấy, lần này quy tắc kiểu hoạt động cho cả hai văn bản được đính kèm trong thẻ , mặc dù thực tế là trong trường hợp thứ hai giữa thẻ Và đáng giá .
Bộ kết hợp > đề cập đến bộ chọn con. Cho phép bạn liên kết kiểu CSS với một thành phần trang web được lồng trực tiếp vào một thành phần khác:
<селектор 1> > <селектор 2> { <стиль> }
Phong cách sẽ bị ràng buộc với bộ chọn 2, được lồng trực tiếp vào bộ chọn 1.
div > mạnh mẽ (
}
...
Đây là văn bản bình thường. Đây là văn bản in nghiêng đậm.
Đây là văn bản bình thường. Và đây là văn bản in đậm thông thường.
Và kết quả:
Như bạn có thể thấy trong hình, quy tắc kiểu chỉ ảnh hưởng đến thẻ đầu tiên , được lồng trực tiếp trong thẻ
. Và cha mẹ trực tiếp của thẻ thứ hai là thẻ, vì vậy quy tắc không áp dụng cho anh ta.
Tiếp theo chúng ta sẽ xem xét bộ chọn ngữ cảnh<пробел> . Nó cho phép bạn liên kết một kiểu CSS với một phần tử được lồng trong một phần tử khác và có thể có bất kỳ mức độ lồng nhau nào:
<селектор 1> <селектор 2> { <стиль> }
Kiểu này sẽ được áp dụng cho bộ chọn 2, nếu nó được lồng vào trong bộ chọn 1.
Hãy xem xét ví dụ trước, chỉ khi Mô tả CSS quy tắc áp dụng bộ chọn ngữ cảnh:
div mạnh mẽ(
kiểu chữ: in nghiêng /* in nghiêng */
}
...
Đây là văn bản bình thường. Đây là văn bản in nghiêng đậm.
Đây là văn bản bình thường. Và đây cũng là chữ in nghiêng in đậm.
Văn bản thuần túy và chỉ cần in đậm văn bản
Kết quả:
Như bạn có thể thấy, lần này quy tắc ảnh hưởng đến cả hai thẻ , thậm chí một cái được lồng trong một thùng chứa
và thành một đoạn văn. Gắn thẻ , được lồng đơn giản trong một đoạn văn
Quy tắc css hoàn toàn không hoạt động.
Bộ chọn theo thuộc tính thẻ
Bộ chọn thuộc tính là các bộ chọn đặc biệt liên kết một kiểu với một phần tử dựa trên việc nó có chứa một thuộc tính nhất định hay có một giá trị nhất định hay không. Có một số tùy chọn để sử dụng các bộ chọn như vậy.
1. Bộ chọn thuộc tính đơn giản
Giống như:
<селектор>[<имя атрибута тега>] { <стиль> }
Và liên kết kiểu với các thành phần trong đó thuộc tính đã chỉ định được thêm vào. Ví dụ:
mạnh(
màu đỏ;
}
...
ô tôđây là một động cơ cơ khí không có đường ray phương tiện giao thông đường bộ có ít nhất 4 bánh xe.
Kết quả:
Trong hình bạn có thể thấy quy tắc css (màu văn bản màu đỏ) được áp dụng cho phần tử mạnh, thuộc tính được thêm vào tiêu đề.
2. Bộ chọn thuộc tính có giá trị
Cú pháp của bộ chọn này như sau:
<селектор>[<имя атрибута тега>=<значение>] { <стиль> }
Ràng buộc phong cách tới các phần tử có thẻ có thuộc tính được chỉ định tên Và nghĩa. Ví dụ:
Một(
màu đỏ;
cỡ chữ: 150%;
}
...
.ru" target="_blank">Liên kết trong cửa sổ mớiKết quả:
Như bạn có thể thấy, cả hai thành phần của loại siêu liên kết đều có thuộc tính mục tiêu, nhưng quy tắc css phóng to văn bản liên kết lên gấp rưỡi và thay đổi màu của nó thành màu đỏ sẽ được áp dụng cho thẻ thuộc tính của ai mục tiêu có ý nghĩa "_trống".
3. Một trong nhiều giá trị thuộc tính
Một số giá trị thuộc tính có thể được phân tách bằng dấu cách, chẳng hạn như tên lớp. Để đặt quy tắc kiểu khi giá trị bắt buộc có trong danh sách các giá trị thuộc tính, hãy sử dụng bộ chọn sau:
[<имя атрибута тега>~=<значение>] { <стиль> }
<основной селектор>[<имя атрибута тега>~=<значение>] { <стиль> }Kiểu này được áp dụng nếu thuộc tính có giá trị bắt buộc hoặc là một phần của danh sách các giá trị được phân tách bằng dấu cách. Ví dụ:
{
màu đỏ;
cỡ chữ: 150%;
}
...
Điện thoại của chúng tôi: 777-77-77
Địa chỉ của chúng tôi: Moscow St. Xô Viết 5
Bạn sẽ nhận được kết quả sau:
Quy tắc áp dụng cho một phần tử có giá trị thuộc tính bao gồm: lớp học có một ý nghĩa điện thoại.
4. Dấu gạch nối trong giá trị thuộc tính
Dấu gạch nối được cho phép trong giá trị định danh và lớp. Để liên kết một kiểu với các thành phần có giá trị thuộc tính có thể chứa dấu gạch nối, bạn có thể sử dụng cấu trúc sau:
[thuộc tính|="giá trị"] ( kiểu )
Bộ chọn[thuộc tính|="giá trị"] ( style )Kiểu này được áp dụng cho những phần tử có giá trị thuộc tính bắt đầu bằng giá trị được chỉ định, theo sau là dấu gạch nối. Ví dụ:
{
màu đỏ;
cỡ chữ: 150%;
}
...
Kết quả:
Trong ví dụ này, quy tắc kiểu chỉ áp dụng cho các thành phần danh sách có tên lớp bắt đầu bằng giá trị "thực đơn- ".
5. Giá trị thuộc tính bắt đầu bằng văn bản cụ thể
Bộ chọn này đặt kiểu cho một phần tử nếu giá trị thuộc tính thẻ bắt đầu bằng một giá trị cụ thể. Có thể có hai lựa chọn:
[<имя атрибута тега>^=<подстрока>] { <стиль> }
<основной селектор>[<имя атрибута тега>^=<подстрока>] { <стиль> }Trong trường hợp đầu tiên phong cácháp dụng cho tất cả các phần tử có thẻ có thuộc tính được chỉ định tên và một giá trị bắt đầu bằng chỉ định chuỗi con. Trong trường hợp thứ hai, điều tương tự, chỉ đối với một số phần tử nhất định được chỉ định trong bộ chọn chính. Ví dụ:
Một(
màu xanh lá cây;
độ dày phông chữ: đậm;
}
...
Kết quả:
Ví dụ minh họa cách hiển thị liên kết ngoài và liên kết nội bộ khác nhau. Liên kết ngoài luôn bắt đầu bằng chuỗi "http://". Do đó, trong bộ chọn, chúng tôi chỉ ra rằng kiểu sẽ chỉ được áp dụng cho các liên kết có thuộc tính href bắt đầu với ý nghĩa http://.
6. Giá trị thuộc tính kết thúc bằng văn bản nhất định
Liên kết một kiểu với các phần tử có giá trị thuộc tính kết thúc bằng văn bản đã chỉ định. Có cú pháp sau:
[<имя атрибута тега>$=<подстрока>] { <стиль> }
<основной селектор>[<имя атрибута тега>$=<подстрока>] { <стиль> }Trong trường hợp đầu tiên phong cácháp dụng cho tất cả các phần tử có thuộc tính với quy định tên và có ý nghĩa kết thúc bằng từ được chỉ định chuỗi con. Trong trường hợp thứ hai, điều tương tự, chỉ với phần được chỉ định bộ chọn. Ví dụ, theo cách này, các định dạng hình ảnh đồ họa khác nhau có thể được hiển thị khác nhau. Ví dụ:
IMG (
đường viền: màu đỏ đặc 5px;
}
...
Ảnh GIF
Định dạng ảnh png
Kết quả:
Trong ví dụ này, tất cả các hình ảnh có phần mở rộng gif sẽ được hiển thị với đường viền màu đỏ dày 5 pixel.
7. Giá trị thuộc tính chứa chuỗi được chỉ định
Bộ chọn này liên kết kiểu với các thẻ có giá trị thuộc tính chứa văn bản cụ thể. Cú pháp:
[<имя атрибута тега>*=<подстрока>] { <стиль> }
<основной селектор>[<имя атрибута тега>*=<подстрока>] { <стиль> }Phong cách liên kết với các phần tử có thuộc tính với tên được chỉ định và giá trị của nó chứa giá trị được chỉ định chuỗi con. Ví dụ:
IMG (
đường viền: màu đỏ đặc 5px;
}
...
Hình ảnh từ thư mục thư viện
Hình ảnh từ thư mục khác
Kết quả:
Trong ví dụ này, kiểu được áp dụng cho ảnh được tải từ thư mục "phòng trưng bày".
Đó là tất cả về bộ chọn thuộc tính. Tất cả các phương pháp trên có thể được kết hợp với nhau:
Bộ chọn[attribute1="value1"][attribute2="value2"] ( style )
Ngoài ra, hãy để tôi nhắc bạn về các bộ chọn CSS đặc biệt:
- sử dụng các ký hiệu “+” và “~” được hình thành;
- biểu tượng ">" liên kết các kiểu css với công ty con thẻ;
- biểu tượng<пробел>tạo ra bộ chọn bối cảnh.
Trong các bài viết sau, chúng ta cũng sẽ xem xét các phần tử giả và lớp giả, chúng cung cấp các công cụ quản lý kiểu dáng mạnh mẽ.
Thế thôi, hẹn gặp lại.
Bộ chọn trong css là gì là mô tả về phần tử hoặc nhóm phần tử đó cho trình duyệt biết phần tử nào cần chọn để áp dụng kiểu cho nó. Hãy xem xét các bộ chọn CSS cơ bản.
1) .X
.topic-title ( màu nền: màu vàng; )Bộ chọn CSS theo lớp X. Sự khác biệt giữa id và class là một số thành phần trên một trang có thể có cùng một lớp, nhưng id luôn là duy nhất. Các lớp nên được sử dụng để áp dụng cùng một kiểu cho nhiều phần tử.
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
2) #X
#content ( chiều rộng: 960px; lề: 0 tự động; )Bộ chọn id CSS. Dấu băm trước bộ chọn CSS X chọn một thành phần có id = X. Khi gán kiểu theo id, bạn phải luôn nhớ rằng nó phải là duy nhất - chỉ nên có một id như vậy trên trang. Vì vậy, tốt hơn nên sử dụng bộ chọn theo lớp, tổ hợp lớp hoặc tên thẻ. Tuy nhiên, bộ chọn id rất tốt cho việc kiểm tra tự động vì... Chúng cho phép bạn tương tác ngay lập tức với chính xác phần tử mong muốn và tin tưởng rằng chỉ có một phần tử thuộc loại này trên trang.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
3) *
* (lề: 0; phần đệm: 0; )Bộ chọn CSS cho tất cả các phần tử. Biểu tượng ngôi sao chọn tất cả các thành phần có trên trang. Nhiều nhà phát triển sử dụng nó để loại bỏ (không) giá trị lề và phần đệm của tất cả các thành phần trang. Tuy nhiên, trong thực tế tốt hơn là không nên làm điều này vì bộ chọn CSS này tải trình duyệt khá nặng bằng cách tìm kiếm qua tất cả các thành phần trên trang.
Biểu tượng * cũng có thể được sử dụng để chọn tất cả các phần tử con:
#header * ( đường viền: 5px màu xám đậm; )
Ví dụ này chọn tất cả phần tử con (hậu duệ) của phần tử có #header . Nhưng điều đáng ghi nhớ là bộ chọn này khá nặng đối với trình duyệt.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
4) X
a ( màu: xanh lá cây; ) ol ( lề trái: 15px; )Bộ chọn loại CSS. Làm cách nào để chọn tất cả các thành phần cùng loại nếu chúng không có id và lớp? Nên sử dụng bộ chọn loại phần tử CSS. Ví dụ: để chọn tất cả các danh sách có thứ tự trên một trang, hãy sử dụng ol(...) như minh họa ở trên.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
5) XY
li a (font-weight: đậm; text-trang trí: none; )Bộ chọn hậu duệ CSS hoặc Bộ chọn phần tử con CSSđược sử dụng thường xuyên nhất. Nó được sử dụng nếu cần chọn các phần tử thuộc một loại nhất định từ nhiều phần tử con. Ví dụ: bạn cần chọn tất cả các liên kết có trong phần tử li. Trong trường hợp này, hãy sử dụng bộ chọn này. Khi sử dụng chuỗi bộ chọn như vậy, hãy luôn tự hỏi liệu có thể sử dụng chuỗi bộ chọn ngắn hơn nữa để làm nổi bật một phần tử nhất định hay không.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
6) X + Y
div + p ( họ phông chữ: "Helvetica Neue", Arial, sans-serif; cỡ chữ: 18px; )Bộ chọn phần tử liền kề chọn chỉ một một phần tử thuộc loại Y xuất hiện ngay sau phần tử X. Trong trường hợp này, mỗi đoạn ngay sau mỗi phần tử div sẽ nhận được một loại và kích thước phông chữ đặc biệt.
- Những trình duyệt nào được hỗ trợ:
- IE7+
- Firefox
- Trình duyệt Chrome
- Cuộc đi săn
- Trình duyệt Chrome
7) X > Y
#content > ul ( đường viền: 1px màu xanh lá cây; )Bộ chọn hậu duệ CSS. Sự khác biệt giữa bộ chọn X Y và X > Y là bộ chọn CSS được đề cập sẽ chỉ chọn các phần tử con ngay lập tức (nó sẽ chỉ chọn phần tử con trực tiếp). Ví dụ:
- Mục danh sách
- Hậu duệ của phần tử đầu tiên của danh sách
- Mục danh sách
- Mục danh sách
Bộ chọn CSS #content > ul sẽ chỉ chọn ul là con trực tiếp của div có id="container" . Nó sẽ không chọn một ul là con của li đầu tiên. Đây là một bộ chọn CSS khá nhanh.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
8) X ~ Y
ol ~ p ( lề trái: 10px; )Bộ chọn các phần tử chị em (phụ)ít nghiêm ngặt hơn X + Y. Nó sẽ chọn không chỉ phần tử đầu tiên mà còn tất cả các phần tử p khác theo sau ol.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
Lớp giả: liên kếtđược sử dụng để chọn tất cả các liên kết chưa được nhấp vào. Nếu bạn cần áp dụng một kiểu nhất định cho các liên kết đã truy cập thì hãy sử dụng lớp giả: đã truy cập.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
10) X
a(màu:đỏ;)Bộ chọn thuộc tính CSS. Ví dụ này chỉ chọn những liên kết có thuộc tính tiêu đề.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
11)X
một (màu: vàng; )- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
12) X
a ( màu: #dfc11f; )Dấu hoa thị có nghĩa là giá trị bạn đang tìm kiếm phải nằm ở đâu đó trong thuộc tính (bất kỳ phần nào của thuộc tính href). Bằng cách này, các liên kết từ https://www..stijit.. cũng sẽ được chọn. Màu vàng sẽ được áp dụng cho tất cả các liên kết đã chọn.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
13) X
a ( nền: url(path/to/external/icon.png) không lặp lại; đệm-trái: 15px; )Một số trang web có biểu tượng mũi tên nhỏ bên cạnh các liên kết đến các trang web khác để cho biết chúng là các liên kết bên ngoài. Karat “^” là biểu tượng để chỉ sự bắt đầu của một dòng. Do đó, để chọn tất cả các thẻ có href bắt đầu bằng http, bạn cần sử dụng bộ chọn CSS có karat, như trong ví dụ trên.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
14) X
a(màu:xanh lá cây;)Điều này sử dụng biểu thức chính quy và ký hiệu $ để biểu thị sự kết thúc của dòng. Trong ví dụ này, chúng tôi đang tìm kiếm tất cả các liên kết đề cập đến hình ảnh có phần mở rộng .jpg.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
15) X
a(màu:xanh lá cây;)Ở đây chúng tôi áp dụng Bộ chọn thuộc tính tùy chỉnh CSS. Chúng tôi thêm thuộc tính data-filetype của riêng mình vào mỗi liên kết:
liên kết
Bây giờ, bằng cách sử dụng bộ chọn CSS ở trên, bạn có thể chọn tất cả các liên kết dẫn đến hình ảnh có bất kỳ tiện ích mở rộng nào.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
16) X
Dấu ngã (~) cho phép bạn đánh dấu một thuộc tính cụ thể từ danh sách các thuộc tính được phân tách bằng dấu cách. Bạn có thể viết thuộc tính thông tin dữ liệu của riêng chúng tôi, trong đó bạn có thể chỉ định một số từ khóa qua một không gian. Bằng cách này, bạn có thể chỉ ra rằng liên kết là bên ngoài và dẫn đến một hình ảnh.
liên kết
Sử dụng kỹ thuật này, chúng ta có thể chọn các phần tử có tổ hợp các thuộc tính mà chúng ta cần:
/* Chọn phần tử có thuộc tính data-info chứa giá trị bên ngoài */ a ( color: green; ) /* Chọn phần tử có thuộc tính data-info chứa giá trị image */ a ( border: 2px nét đứt màu đen; )
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
17) X: đã chọn
đầu vào: đã chọn ( border: 3px đầu màu đen; )Lớp giả này chỉ làm nổi bật các thành phần như hộp kiểm hoặc nút radio và chỉ khi chúng đã ở trạng thái được chọn.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
18) X: sau
Các lớp giả :trước và :after rất hữu ích - chúng tạo nội dung trước và sau phần tử được chọn.
Clearfix:after ( content: ""; display: block; clear: cả hai; khả năng hiển thị: ẩn; cỡ chữ: 0; chiều cao: 0; ) .clearfix ( *display: inline-block; _height: 1%; )
Ở đây, sử dụng lớp giả:after, sau một khối có class.clearfix, một dòng trống, sau đó nó sẽ bị xóa. Cách tiếp cận này được sử dụng nếu không thể áp dụng thuộc tính tràn: ẩn.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
19) X: di chuột
div:hover ( màu nền: rgba(11,77,130,0.5); )Áp dụng một kiểu cụ thể cho một phần tử khi con trỏ chuột di chuyển qua nó. phiên bản cũ trình duyệt web IEáp dụng: chỉ di chuột đến các liên kết.
A: di chuột ( border-bottom: 1px chấm xanh; )
- Những trình duyệt nào được hỗ trợ:
- IE6+ (Chỉ áp dụng cho các liên kết trong IE6)
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
20) X:không(bộ chọn)
div:not(#content) ( color: grey; )Lớp giả không (phủ định)Điều này rất hữu ích, chẳng hạn như khi bạn cần chọn tất cả các div ngoại trừ div có id="content" .
Sử dụng nguyên tắc tương tự, bạn có thể chọn tất cả các phần tử ngoại trừ p:
*:not(p) ( màu: xanh; )
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
21) X::pseudoElement
p::dòng đầu tiên ( font-weight: đậm; cỡ chữ: 24px; )Các phần tử giả có thể được sử dụng để áp dụng kiểu cho các phần của phần tử—ví dụ: dòng đầu tiên của đoạn văn hoặc chữ cái đầu tiên của một từ. Chỉ áp dụng cho các phần tử khối.
Chọn chữ cái đầu tiên của đoạn văn:
P::first-letter ( họ phông chữ: chữ thảo; cỡ chữ: 30px; font-weight: đậm; đệm-phải: 1px; )
Chọn dòng đầu tiên trong đoạn văn:
P:dòng đầu tiên ( cỡ chữ: 28px; độ dày phông chữ: in đậm; )
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera
22) X:con đầu lòng
ul li:con đầu lòng ( border-top: none; )Con đầu lòng giả lớp chỉ chọn con đầu tiên của phần tử cha. Thường được sử dụng để xóa đường viền khỏi phần tử đầu tiên của danh sách. Lớp giả này đã tồn tại kể từ CSS 1.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera 3.5+
- Android
23) X:con út
ul > li:con cuối cùng ( border-bottom: none; )Con út thuộc lớp giả chọn con cuối cùng của phần tử cha. Anh chỉ xuất hiện kể từ CSS 3.
- Những trình duyệt nào được hỗ trợ:
- IE9+ (IE8 hỗ trợ con đầu lòng, nhưng không hỗ trợ con cuối cùng. Microsoft (c))
- Trình duyệt Chrome
- Firefox
- Cuộc đi săn
- Opera 9.6+
- Android
24) X: con một
div p:con một ( color: green; )Con một thuộc lớp giả cho phép bạn chọn những phần tử là con duy nhất của cha mẹ chúng.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox
- Safari 3.0+
- Opera 9.6+
- Android
25) X:nth-con(n)
li:nth-child(3) ( color: black; )Lựa chọn phần tử con theo số được chỉ định trong tham số. bộ chọn con thứ n lấy một số nguyên làm tham số, nhưng được tính từ 1, tức là nếu bạn cần chọn mục danh sách thứ hai, hãy sử dụng li:nth-child(2) . Tất cả các lớp giả sử dụng con thứ n chỉ xuất hiện bắt đầu bằng CSS 3.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox 3.6+
- Safari 3.1+
- Opera 9.6+
- Android 2.1+
- iOS 2.0+
26) X:nth-last-con(n)
li:nth-last-child(2) ( color: red; )Nếu bạn có một danh sách lớn các phần tử trong ul và bạn cần chọn phần tử thứ ba từ cuối? Thay vì viết li:nth-child(109) bạn có thể sử dụng bộ chọn con cuối cùng thứ n-con cuối cùng. Cách này cũng giống như cách trước nhưng tính từ đầu đến cuối.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox 3.6+
- Safari 3.1+
- Opera 9.6+
- Android 2.1+
- iOS 2.0+
27) X:loại thứ n(n)
ul:nth-of-type(3) ( border: 1px chấm đen; )Nếu có bốn danh sách không có thứ tự trên một trang và bạn chỉ cần tạo kiểu cho danh sách thứ ba, danh sách này không có id duy nhất, bạn nên sử dụng loại thứ n.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox 3.6+
- Safari 3.1+
- Opera 9.6+
- Android 2.1+
- iOS 2.0+
28) X:nth-cuối-loại(n)
ul:nth-last-of-type(3) ( border: 2px sườn núi màu xanh; )Lớp giả thứ n-cuối-loại(n) nhằm mục đích chọn phần tử thứ n của một loại nhất định từ cuối.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox 3.6+
- Safari 3.1+
- Opera 9.6+
- Android 2.1+
- iOS 2.0+
29) X: chỉ có một loại
li:only-of-type ( font-weight: đậm; )Loại giả duy nhất chọn các phần tử không có hàng xóm trong phần tử cha. Ví dụ: bạn có thể chọn tất cả các ul chỉ chứa lis cô đơn.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox 3.5+
- Safari 3.1+
- Opera 9.6+
- Android 2.1+
- iOS 2.0+
30) X: loại đầu tiên
ul:first-of-type > li:nth-child(3) ( font-style: italic; )Lớp giả đầu tiên chọn phần tử đầu tiên của loại đã cho.
- Những trình duyệt nào được hỗ trợ:
- Trình duyệt Chrome
- Firefox 3.5+
- Safari 3.1+
- Opera 9.5+
- Android 2.1+
- iOS 2.0+