Files
Web-Page-Performance-Test/images.html

161 lines
4.1 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Image Gallery - Web Page Performance Test</title>
<link rel="stylesheet" href="styles.css">
<style>
.images-container {
max-width: 1400px;
margin: 2rem auto;
padding: 0 2rem;
}
.images-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
gap: 1.5rem;
margin-top: 2rem;
}
.image-card {
background: var(--color-bg-secondary);
border: 2px solid var(--color-border);
border-radius: 8px;
padding: 1rem;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.image-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(114, 9, 183, 0.2);
}
.image-preview {
width: 100%;
height: 200px;
background: var(--color-bg-tertiary);
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 1rem;
overflow: hidden;
}
.image-preview img {
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.image-icon {
font-size: 3rem;
color: var(--color-text-secondary);
}
.image-info {
font-size: 0.9rem;
}
.image-url {
color: var(--color-text-primary);
font-weight: 600;
margin-bottom: 0.5rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.image-details {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.5rem;
margin-top: 0.75rem;
}
.detail-item {
display: flex;
flex-direction: column;
}
.detail-label {
color: var(--color-text-secondary);
font-size: 0.8rem;
}
.detail-value {
color: var(--color-text-primary);
font-weight: 600;
}
.optimization-badge {
display: inline-block;
padding: 0.25rem 0.5rem;
border-radius: 4px;
font-size: 0.8rem;
font-weight: 600;
margin-top: 0.5rem;
}
.badge-good {
background: rgba(76, 175, 80, 0.2);
color: #4CAF50;
}
.badge-warning {
background: rgba(255, 152, 0, 0.2);
color: #FF9800;
}
.badge-error {
background: rgba(244, 67, 54, 0.2);
color: #F44336;
}
.summary-stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
margin-bottom: 2rem;
padding: 1.5rem;
background: var(--color-bg-secondary);
border-radius: 8px;
}
.stat-item {
text-align: center;
}
.stat-value {
font-size: 2rem;
font-weight: 700;
color: var(--color-accent);
}
.stat-label {
color: var(--color-text-secondary);
font-size: 0.9rem;
margin-top: 0.25rem;
}
</style>
</head>
<body>
<div class="images-container">
<h1>Page Images Gallery</h1>
<p>All images loaded by this page with optimization analysis</p>
<div class="summary-stats" id="summaryStats">
<!-- Generated by JS -->
</div>
<div class="images-grid" id="imagesGrid">
<!-- Generated by JS -->
</div>
</div>
<script src="images-gallery.js"></script>
</body>
</html>