LogoMaker / styles.css
SenY's picture
Init
3ed48fd
raw
history blame
2.48 kB
.preview-container {
position: relative;
padding: 1rem;
min-height: 100px;
display: flex;
align-items: center;
justify-content: center;
background: repeating-conic-gradient(#80808010 0% 25%, transparent 0% 50%) 50% / 20px 20px;
}
.preview-container img {
max-width: 100%;
max-height: 300px;
height: auto;
object-fit: contain;
}
.effect-grid {
display: grid;
gap: 1rem;
margin-top: 2rem;
}
/* 横書き時のグリッドレイアウト */
.effect-grid:not([data-vertical="true"]) {
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
/* 縦書き時のグリッドレイアウト */
.effect-grid[data-vertical="true"] {
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.effect-item {
background: #f8f9fa;
border: 1px solid #dee2e6;
border-radius: 0.5rem;
padding: 1rem;
text-align: center;
display: flex;
flex-direction: column;
}
.effect-name {
font-size: 1.1rem;
margin-bottom: 1rem;
font-weight: 500;
}
.effect-item.error {
background: #fff3f3;
border-color: #ffcdd2;
}
.text-danger {
color: #dc3545;
}
/* エフェクトレンダリング用のスタイル */
.effect-renderer {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
.effect-renderer canvas {
position: absolute;
top: 0;
left: 0;
}
/* パーティクルエフェクト用のスタイル */
.particle-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
}
/* 3Dエフェクト用のスタイル */
.three-container {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 2;
}
/* アニメーションエフェクト用のスタイル */
@keyframes sparkle {
0%, 100% { opacity: 0; }
50% { opacity: 1; }
}
@keyframes fire {
0% { transform: translateY(0) scale(1); }
100% { transform: translateY(-20px) scale(0.8); opacity: 0; }
}
@keyframes electric {
0%, 100% { opacity: 1; }
50% { opacity: 0.7; }
}
@keyframes underwater {
0% { transform: translateY(0) translateX(0); }
50% { transform: translateY(-10px) translateX(5px); }
100% { transform: translateY(0) translateX(0); }
}