Một số ô trong bảng của tôi có số lượng nội dung thực sự lớn. Tôi không muốn hiển thị tất cả chúng cho đến khi người dùng di chuyển trên các tế bào, nhưng tôi muốn đặt một mũi tên ở góc để cho biết nó có thể được lơ lửng - giống như trong bình luận excel. Làm thế nào tôi có thể làm điều này bằng cách sử dụng CSS?vẽ một mũi tên bên trong ô bảng bằng cách sử dụng CSS
Trả lời
Sử dụng CSS Shapes và pseudo-yếu tố:
HTML
<table>
<tr><td class="comment">Foo</td></tr>
</table>
CSS
* { margin: 0; padding: 0;}
td { border: 1px solid black; }
.comment:after {
content: "";
position: relative;
top: 0.5em;
border-left: 0.5em solid transparent;
border-top: 0.5em solid red;
}
câu trả lời Cập nhật để sửa chữa gói:
/* add relative positioning to the td */
td { border: 1px solid black; position: relative; }
/* and absolute positioning for the triangle */
.comment:after {
content: "";
position: absolute;
/* left: calc(100% - 0.5em); */
/* use right: 0; instead */
right: 0;
top: 0;
border-left: 0.5em solid transparent;
border-top: 0.5em solid red;
}
Thực ra tôi gặp vấn đề nhỏ với câu trả lời này, khi văn bản kết thúc tốt đẹp trong ô, mũi tên thay vì ở góc trên bên phải của ô, nó xuất hiện tại phần trên của từ cuối cùng. Tôi đã di chuyển mũi tên sang góc trên bên trái như một giải pháp. – Sawyer
Ah, điểm xấu --- tốt của tôi ... Cập nhật để sửa lỗi đó. – brbcoding
Cần lưu ý rằng vị trí tuyệt đối trong ô bảng với 'vị trí: tương đối' [không hoạt động trong Firefox] (https://bugzilla.mozilla.org/show_bug.cgi?id=63895). Vì vậy, một wrapper thêm với 'display: block; vị trí: relative' có thể là cần thiết để làm cho giải pháp này qua trình duyệt. –
Chỉ cần thay thế 100 với chiều rộng và chiều cao của bạn, và thêm một vị trí ở một nơi ngay
.triangle-topright {
width: 0;
height: 0;
border-top: 100px solid red;
border-left: 100px solid transparent;
}
Bạn có thể sử dụng hình dạng CSS và định vị tuyệt đối để thực hiện điều này.
Dưới đây là một fiddle: http://jsfiddle.net/pNmQg/
table td { position: relative; }
table td span.arrow {
position: absolute;
top: 0;
right: 0;
border-top: 5px solid red;
border-left: 5px solid transparent;
}
Dấu tích đó ở trên cùng bên phải cửa sổ chứ không phải ô cho tôi. (FF22, Linux) –
@Cobra_Fast - Bạn phải có 'vị trí: tương đối' trên' td', nếu không thì khoảng thời gian sẽ chuyển đến phụ huynh kế tiếp không tĩnh hoặc chính cửa sổ đó. – Shauna
@Shauna Tôi đang nói về fiddle liên kết. –
tôi tìm thấy một giải pháp phù hợp cho tất cả các trình duyệt --- Tested.
.arrow-right-1 {
position: absolute;
top: -1px;
right: -5px;
float: right;
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid red;
transform: rotate(45deg);
}
td {
border: solid 1px blue;
width: 220px;
height: 100px;
/* padding: 0px !important; */
/* vertical-align: top; */
position: relative;
}
<table class="table">
<tbody>
<tr>
<td>
<div class="arrow-right-1"></div>you can increase or decrease the size td's width/height or can put more text
</td>
</tr>
</tbody>
</table>
- 1. Thêm mũi tên bên dưới trục x trong ô R
- 2. Cách vẽ mũi tên trong Silverlight
- 3. Vẽ các mũi tên với gnuplot
- 4. Làm cách nào để vẽ một mũi tên trên biểu đồ được vẽ bằng ggplot2?
- 5. Gọi một IO Monad bên trong một mũi tên
- 6. Vẽ mũi tên trên Canvas HTML5 giữa hai đối tượng
- 7. Mũi tên Haskell bên trong Tuples
- 8. Làm cách nào để tạo một mũi tên chỉ sử dụng CSS?
- 9. Sử dụng Eclipse TableViewer, làm cách nào để điều hướng và chỉnh sửa các ô bằng các phím mũi tên?
- 10. mũi tên tròn với CSS
- 11. HTML Canvas - Vẽ mũi tên cong
- 12. Vẽ hai ô vuông tại một vị trí x bằng cách sử dụng R và ggplot2
- 13. vẽ d3 mũi tên lời khuyên
- 14. HowTo: Vẽ một đường thẳng với một mũi tên?
- 15. nghĩa mũi tên bên phải trong Scala
- 16. Vẽ các đường cong đầu mũi tên trong HTML5 Canvas
- 17. Thêm khoảng cách giữa các ô (td) bằng cách sử dụng css
- 18. CSS và text-overflow trong một ô trong bảng
- 19. CSS - Chỉ viền bên trong bảng
- 20. Thao tác biên giới ô trong bảng chỉ sử dụng css trong dòng
- 21. Tìm một bảng bằng chữ và viết trong bảng đó bằng cách sử dụng java
- 22. Làm cách nào để giới hạn ô bảng thành một dòng văn bản bằng CSS?
- 23. class ngay trong một ô trong bảng với CSS
- 24. Làm thế nào để vẽ chỉ mũi tên trong gnuplot
- 25. Sử dụng sáng tạo các mũi tên
- 26. Matplotlib: Vẽ một mũi tên thẳng đứng trong một âm mưu log-log
- 27. không thể tìm thấy một mũi tên bên phải unicode
- 28. Bảng lồng nhau iText bên trong một ô
- 29. bgcolor cho các hàng thay thế trong một bảng động bằng cách sử dụng CSS
- 30. Đầu mũi tên có kích thước bằng nhau trong matplotlib
Làm thế nào để bạn hiển thị nội dung thêm vào lơ lửng? –
@MrLister Tôi đang sử dụng plugin công cụ, nhưng thành thật mà nói, tôi đã thử một vài, nhưng tất cả đều không lý tưởng. Lý do là 1). nội dung bổ sung chứa các đánh dấu kiểu 2). nội dung bổ sung có thể thực sự lớn và đầu công cụ có vị trí thực sự kỳ lạ. 3). mẹo công cụ không thể chọn được. Tôi hoan nghênh bất kỳ lựa chọn thay thế tốt hơn so với công cụ-tip. – Sawyer
Bạn có thể sử dụng thuộc tính data nếu bạn muốn và hiển thị nó với phần tử giả ... Điều đó có thể thật tuyệt. Tôi nghĩ rằng tôi có một ví dụ ở đâu đó - đi đến câu trả lời trước đây của tôi ... Edit: Tìm thấy nó - http://stackoverflow.com/a/17819100/1150613 – brbcoding