UNPKG

react-image-list-box

Version:
177 lines (155 loc) 3.52 kB
.image-label { color: rgb(75,85,99) } .image-grid { display: flex; flex-wrap: wrap; justify-content: flex-start; padding: 5px; cursor: pointer } .image-item { position: relative; margin: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center; transition: box-shadow 0.3s ease; box-sizing: border-box; overflow: hidden; } .image-item { position: relative; margin: 10px; display: flex; flex-direction: column; justify-content: center; align-items: center; box-sizing: border-box; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; border: 5px solid transparent; } .image-item img { width: 100%; height: auto; object-fit: cover; transition: transform 0.3s ease; } .image-item:hover { transform: scale(1.05); z-index: 1; } .image-item-button { position: absolute; top: 5px; right: 2px; background-color: black; color: white; border: none; border-radius: 50%; padding: 5px; cursor: pointer; transition: opacity 0.3s ease; opacity: 0; z-index: 2; display: flex; justify-content: center; align-items: center; width: 25px; height: 25px; font-size: 16px; line-height: 1; } .image-item:hover .image-item-button { opacity: 1; } .image-checkbox { -webkit-appearance: none; -moz-appearance: none; appearance: none; position: absolute; top: 5px; left: 2px; opacity: 0; z-index: 2; border: 2px solid black; background-color: #fff; width: 20px; height: 20px; cursor: pointer; transition: background-color 0.3s, border-color 0.3s; } .image-checkbox:checked { opacity: 1; background-color: black; border-color: black; } .image-item:hover .image-checkbox { opacity: 1; } .image-checkbox:checked::after { content: '✔'; color: white; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 16px; line-height: 1; } .image-item:hover .image-checkbox, .image-item .image-checkbox:checked { opacity: 1; } .category-badge-container-left { position: absolute; bottom: 27px; left: 2px; z-index: 2; } .category-badge-container-right { position: absolute; bottom: 27px; right: 2px; z-index: 2; } .category-badge { position: relative; width: 25px; height: 25px; border-radius: 50%; background-color: #000; color: #fff; display: flex; justify-content: center; align-items: center; transition: width 0.3s ease, border-radius 0.3s ease; cursor: pointer; overflow: visible; } .category-badge:hover { width: 100px; /* expanded width */ border-radius: 25px; /* adjust as needed to maintain circular shape on the left side */ } .badge-text { visibility: hidden; display: block; margin-left: 5px; /* adjust as needed */ white-space: nowrap; overflow: visible; opacity: 0; transition: opacity 0.3s ease; font-size: 10px; } .category-badge:hover .badge-text { opacity: 1; visibility: visible; } .category-icon { position: absolute; bottom: 5px; left: 4px; z-index: 2; }