Đánh dấu một ô của bảng trong HTML

và tiêu đề của bảng trong các hàng của chỉ được chọn

@The_blue Không có cách trực tiếp để thực hiện loại định dạng này trong dòng, bạn có thể sử dụng biểu thức bên dưới để định dạng cột cụ thể, nhưng bạn cũng cần phải định dạng giá trị trong biểu thức. Sử dụng biểu thức này sau khi Tạo hành động HTML bằng cách thêm hành động soạn thư

replace(body('Create_HTML_table'),'Blue','Blue')

Sau đó, thêm một hành động soạn thảo khác và cung cấp sau hành động soạn thảo đó. Đây là bạn đang xác định kiểu dáng, như màu nền

Bây giờ, hãy sử dụng kết quả đầu ra của các hành động soạn thảo đó trong hành động gửi email, trước tiên hãy sử dụng Đầu ra của hành động soạn thảo Kiểu dáng và sau đó là đầu ra của hành động soạn thảo HTML

Bạn có thể sử dụng CSS mà không cần bất kỳ javascript nào để làm nổi bật hàng của bảng khi di chuột. Tất cả những gì nó yêu cầu là họ sử dụng lớp giả. di chuột để thêm hiệu ứng vào bất kỳ phần tử html nào bạn chọn

Trong trường hợp này, chúng tôi sẽ thêm nó vào một hàng của bảng bằng cách sử dụng quy tắc biểu định kiểu như trong ví dụ mã CSS bên dưới

        tr:hover {
          background-color: #ffff99;
        }

Quy tắc trên sẽ áp dụng cho mọi hàng trên mọi bảng trên trang web của bạn và do đó, bạn có thể muốn sử dụng một lớp hoặc ID để giới hạn hiệu ứng này đối với các bảng mà bạn chọn cụ thể, đó là những gì chúng tôi sẽ thực hiện trong ví dụ sau

Một ví dụ về tô sáng hàng của bảng khi di chuột

Ở đây chúng tôi có một ví dụ hoạt động về bảng làm nổi bật các hàng khi di chuột chỉ sử dụng CSS để đạt được hiệu ứng này. Chỉ cần di chuột qua bảng để xem hiệu ứng đang hoạt động

Văn bản 1AVăn bản 1BVăn bản 1CVăn bản 2AVăn bản 2BVăn bản 2CVăn bản 3AVăn bản 3BVăn bản 3C

Mã bảng CSS

Sao chép Mã CSS và HTML cần thiết cho Bảng này từ hộp bên dưới



	
		Text 1AText 1BText 1C
	
	
		Text 2AText 2BText 2C
	
	
		Text 3AText 3BText 3C
	

Hỗ trợ trình duyệt

Trình duyệt hỗ trợ cho. hover lớp giả trên tất cả các yếu tố áp dụng (nói cách khác không chỉ trên các liên kết) là khá vững chắc cho tất cả các trình duyệt hiện đại

Như mọi khi, câu hỏi đặt ra cho Internet Explorer và sự hỗ trợ của nó một lần là khá tốt ở đây một cách đáng ngạc nhiên trên phiên bản Internet Explorer cũ hơn. IE 7 trở lên sẽ hỗ trợ sử dụng chung hiệu ứng di chuột với một cảnh báo

Trang html phải có trên đó. Nếu nó không có doctype thì hiệu ứng di chuột sẽ không hoạt động trong hầu hết các phiên bản IE. Đó là một vấn đề nhỏ nhưng nó có thể là hậu quả nếu bạn gặp khó khăn khi phát triển trên một hệ thống khá kém linh hoạt và bạn cần phải làm việc trên một trang không có loại tài liệu

Đánh dấu các hàng của bảng khá dễ dàng trong CSS. tr:hover { background: yellow; } làm tốt ở đó. Nhưng đánh dấu các cột luôn phức tạp hơn một chút, bởi vì không có một phần tử HTML nào là cha của các ô bảng trong một cột. Một chút JavaScript có thể xử lý dễ dàng, nhưng Andrew Howe gần đây đã gửi email cho tôi để chia sẻ một thủ thuật nhỏ mà anh ấy tìm thấy trên StackOverflow, được đăng bởi Matt Walton

Nó đã được vài năm tuổi, vì vậy tôi nghĩ rằng tôi chỉ cần làm sạch nó và đăng nó ở đây

The trick is using huge pseudo elements on the s, hidden by the table overflow

Bạn không thực sự biết bảng lớn như thế nào từ CSS, vì vậy chỉ cần làm cho các phần tử giả siêu cao với giá trị trên cùng âm bằng một nửa số đó

table {
  overflow: hidden;
}

tr:hover {
  background-color: #ffa;
}

td, th {
  position: relative;
}
td:hover::after,
th:hover::after {
  content: "";
  position: absolute;
  background-color: #ffa;
  left: 0;
  top: -5000px;
  height: 10000px;
  width: 100%;
  z-index: -1;
}

Phủ định z-index giữ nó bên dưới nội dung. Phủ định z-index là một thủ thuật thú vị, nhưng hãy lưu ý rằng bảng này không thể được lồng trong các phần tử khác có nền, nếu không phần tô sáng sẽ nằm bên dưới chúng

Bạn có thể thấy rằng trong hành động ở đây

Xem phần Đánh dấu hàng và cột bằng bút chỉ bằng CSS của Chris Coyier (@chriscoyier) trên CodePen

Làm cho nó hoạt động với cảm ứng

Các lớp giả di chuột chỉ hoạt động trên các thiết bị cảm ứng. Đầu tiên, phần tử cần phải được đặt tiêu điểm, theo mặc định, các ô của bảng không được đặt. Bạn chắc chắn có thể thêm trình xử lý sự kiện nhấp chuột vào các ô của bảng và chỉ cần thực hiện mọi thứ bằng JavaScript, nhưng đây là một phương pháp để giữ hầu hết công việc trong CSS

// Whatever kind of mobile test you wanna do.
if (screen.width < 500) {
  
  // :hover will trigger also once the cells are focusable
  // you can use this class to separate things
  $("body").addClass("nohover");

  // Make all the cells focusable
  $("td, th")
    .attr("tabindex", "1")
    // When they are tapped, focus them
    .on("touchstart", function() {
      $(this).focus();
    });
  
}

Sau đó, trong CSS bạn thêm. tập trung phong cách là tốt

td:focus::after,
th:focus::after { 
  content: '';  
  background-color: lightblue;
  position: absolute;  
  left: 0;
  height: 10000px;
  top: -5000px;
  width: 100%;
  z-index: -1;
}

td:focus::before {
  background-color: lightblue;
  content: '';  
  height: 100%;
  top: 0;
  left: -5000px;
  position: absolute;  
  width: 10000px;
  z-index: -1;
}

Trong bản trình diễn cuối cùng của mình, tôi đã hiểu rõ hơn một chút với bộ chọn CSS để đảm bảo rằng các ô trống của bảng không kích hoạt bất kỳ thứ gì, tiêu đề bảng trong các cột chỉ được chọn của