Флуд во имя Флуда
Сообщений 81 страница 90 из 135
Поделиться812026-02-22 15:53:09
Поделиться822026-02-22 15:59:10
Поделиться832026-02-22 16:08:11
Поделиться842026-02-22 16:49:34
Поделиться852026-02-22 21:11:01
Поделиться862026-02-22 21:14:04
[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Блокнот · Клайд + Шон</title>
<style>
/* ********************************************************************
БАЗА (адаптивность, скроллы, отступы — как в первом идеальном коде)
******************************************************************** */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
}
body {
background: #d9d2c5; /* мягкий фон под блокнот */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
padding: 20px;
}
/* основной конверт — стилизован под страницу блокнота */
.container {
max-width: 1100px;
width: 100%;
margin: 0 auto;
background: #fefcf5; /* цвет пожелтевшей бумаги */
border-radius: 32px 32px 32px 32px;
padding: 40px 40px 50px;
border: 1px solid #d6cdbb;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2), 0 0 0 1px #baae9a inset;
position: relative;
/* тонкая линия как от переплёта */
background-image: linear-gradient(90deg, transparent 30px, #efebe2 30px, #efebe2 32px, transparent 32px);
}
/* две фотокарточки — ряд, идеальные пропорции как в первом коде */
.arts-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 40px 50px;
margin-bottom: 50px;
}
.art-card {
flex: 1 1 280px;
min-width: 240px;
max-width: 320px; /* чуть шире для поляроидной эстетики */
display: flex;
flex-direction: column;
align-items: center;
}
/* обёртка для позиционирования скрепки */
.art-wrapper {
position: relative;
width: 100%;
}
/* СКРЕПКА (из первого кода, но стилизована под металл блокнота) */
.clip {
position: absolute;
top: -14px; /* наезжает на рамку как настоящая */
left: 15px;
font-size: 3.8rem;
line-height: 1;
color: #7f8c8d; /* металлический оттенок */
z-index: 30;
filter: drop-shadow(2px 3px 3px rgba(0,0,0,0.25));
transform: rotate(-8deg);
transition: transform 0.2s ease, filter 0.2s ease;
text-shadow: 1px 2px 2px #4a4a4a;
}
/* правая скрепка — зеркальна */
.art-card:last-child .clip {
left: auto;
right: 15px;
transform: scaleX(-1) rotate(-8deg);
}
/* ПОЛЯРОИДНАЯ РАМКА (из второго кода, но с aspect-ratio как в первом) */
.frame {
width: 100%;
aspect-ratio: 3 / 4; // сохраняем вертикальную пропорцию
background: #ece4d7;
border-radius: 0; // убираем скругление — блокнотный стиль
overflow: hidden;
border: 12px solid #f2ede1; // толстое "поляроидное" поле
border-bottom: 35px solid #f2ede1; // ещё больше места для подписи
box-shadow:
0 10px 15px -8px #7f6e5b,
0 0 0 2px #cfc4b0 inset,
0 0 0 4px #fffefc inset;
transition: transform 0.3s ease, box-shadow 0.3s ease;
position: relative;
background-clip: padding-box;
}
/* картинка внутри поляроида — заполняет всю область */
.frame img {
width: 100%;
height: 100%;
object-fit: cover; // как в первом коде (аккуратное заполнение)
display: block;
transition: transform 0.5s ease;
filter: sepia(0.2) contrast(1.02); // лёгкая плёночность
}
/* ПОДПИСЬ — теперь она часть поляроида (как на настоящем снимке) */
.polaroid-caption {
position: absolute;
bottom: -28px; /* размещается на белой нижней части рамки */
left: 0;
right: 0;
text-align: center;
font-family: 'Courier New', 'Georgia', monospace;
font-size: 1rem;
letter-spacing: 2px;
color: #3a3f47;
text-transform: uppercase;
font-weight: 500;
padding: 4px 0;
background: transparent;
border-top: 1px dashed #b7aa95;
border-bottom: 1px dashed #b7aa95;
margin: 0 10px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* HOVER-эффекты (из первого кода, адаптированы) */
.art-card:hover .frame {
transform: translateY(-6px);
box-shadow:
0 20px 25px -12px #5f4d3b,
0 0 0 2px #b8aa97 inset,
0 0 0 5px #fffdf9 inset;
}
.art-card:hover .frame img {
transform: scale(1.06);
}
.art-card:hover .clip {
color: #5d6e73;
filter: drop-shadow(4px 5px 4px rgba(0,0,0,0.3));
transform: rotate(-5deg) scale(1.05);
}
.art-card:last-child:hover .clip {
transform: scaleX(-1) rotate(-5deg) scale(1.05);
}
.art-card:hover .polaroid-caption {
color: #1d2b32;
border-top-color: #8e7c68;
border-bottom-color: #8e7c68;
}
/* === ТЕКСТОВЫЙ БЛОК СО СКРОЛЛОМ (как в первом коде, но стилизован) === */
.text-block {
position: relative;
background: #faf7f1;
border-radius: 24px;
border: 1px solid #ddd2c2;
box-shadow: inset 0 2px 8px #fff6ea, 0 8px 20px -12px #ad9f8f;
overflow: hidden;
margin-top: 20px;
background-image: repeating-linear-gradient(transparent, transparent 28px, #eae3d6 29px, transparent 30px);
}
.text-content {
max-height: 320px;
overflow-y: auto;
padding: 32px 35px 32px 40px;
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 1.25rem;
line-height: 1.9;
color: #2d332b;
letter-spacing: 0.2px;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
background: transparent;
}
/* мягкие градиенты поверх скролла (из первого кода) */
.text-block::before,
.text-block::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 28px;
pointer-events: none;
z-index: 5;
}
.text-block::before {
top: 0;
background: linear-gradient(to bottom, #faf7f1, rgba(250,247,241,0));
}
.text-block::after {
bottom: 0;
background: linear-gradient(to top, #faf7f1, rgba(250,247,241,0));
}
/* скроллбар — стильный, под блокнот */
.text-content::-webkit-scrollbar {
width: 8px;
}
.text-content::-webkit-scrollbar-thumb {
background: #cfc3b4;
border-radius: 12px;
border: 1px solid #b3a18e;
}
.text-content::-webkit-scrollbar-thumb:hover {
background: #aa9a88;
}
.text-content {
scrollbar-width: thin;
scrollbar-color: #cfc3b4 #f0e9de;
}
/* === НОВАЯ БОКОВИНА (ВМЕСТО КРУГЛЯШЕЙ) — ТКАНЕВАЯ ЛЕНТА/КОРЕШОК === */
.notebook-spine {
position: absolute;
top: 30px;
bottom: 30px;
left: -12px; /* выступает слева */
width: 28px;
background: #6f5e4f; /* тёмная замша/ткань */
border-radius: 20px 8px 8px 20px;
box-shadow:
-2px 2px 8px rgba(0,0,0,0.4),
inset -2px -1px 3px #2f261e,
inset 3px 2px 5px #b8a390;
border: 1px solid #4f4134;
z-index: 50;
/* текстура грубой ткани */
background-image: repeating-linear-gradient(45deg, #8b7866 0px, #8b7866 2px, #6e5b48 2px, #6e5b48 6px);
transform: rotate(0deg);
}
/* декоративная строчка по краю ленты */
.notebook-spine::after {
content: "";
position: absolute;
top: 15px;
bottom: 15px;
left: 6px;
right: 6px;
border-left: 2px dashed #f1e3cf;
border-right: 2px dashed #f1e3cf;
opacity: 0.5;
border-radius: 0;
}
/* дополнительный шов нитками */
.notebook-spine::before {
content: "⣿⣿⣿";
position: absolute;
font-size: 16px;
letter-spacing: -2px;
color: #ddcfba;
left: 5px;
right: 5px;
top: 20px;
bottom: 20px;
writing-mode: vertical-rl;
text-orientation: upright;
font-weight: bold;
opacity: 0.35;
white-space: nowrap;
}
/* адаптация — смещаем контейнер чтобы не наезжать на ленту */
.container {
margin-left: 15px; /* освобождаем место для выступающей боковины */
}
/* ========== АДАПТИВНОСТЬ (полностью скопирована из первого кода с донастройкой) ========= */
@media (max-width: 750px) {
body { padding: 12px; }
.container {
padding: 25px 20px 35px;
border-radius: 28px;
margin-left: 8px;
}
.notebook-spine {
left: -10px;
width: 22px;
top: 25px;
bottom: 25px;
}
.clip {
font-size: 3.2rem;
left: 8px;
top: -12px;
}
.art-card:last-child .clip {
right: 8px;
}
.frame {
border-width: 10px;
border-bottom-width: 30px;
}
.polaroid-caption {
bottom: -24px;
font-size: 0.9rem;
}
.text-content {
max-height: 260px;
padding: 25px 25px 25px 30px;
font-size: 1.15rem;
}
}
@media (max-width: 550px) {
body { padding: 8px; }
.container {
padding: 20px 15px 30px;
border-radius: 24px;
margin-left: 5px;
}
.notebook-spine {
left: -8px;
width: 18px;
top: 20px;
bottom: 20px;
border-radius: 12px 3px 3px 12px;
}
.notebook-spine::after {
left: 3px;
right: 3px;
}
.art-card {
flex: 1 1 100%;
max-width: 280px;
}
.clip {
font-size: 2.8rem;
left: 5px;
}
.art-card:last-child .clip {
right: 5px;
}
.frame {
border-width: 8px;
border-bottom-width: 28px;
}
.polaroid-caption {
bottom: -22px;
font-size: 0.8rem;
letter-spacing: 1px;
}
.text-content {
max-height: 220px;
padding: 22px 18px;
font-size: 1.05rem;
}
}
@media (max-width: 380px) {
.container {
padding: 15px 10px 20px;
}
.notebook-spine {
display: none; /* на совсем узких экранах боковина может мешать — убираем */
}
.container {
margin-left: 0;
}
.text-content {
font-size: 0.95rem;
}
}
/* для очень маленьких высот подстраховка */
@media (max-height: 500px) {
.text-content {
max-height: 150px;
}
}
/* Чиним размещение подписи — чтобы не перекрывалась */
.art-wrapper {
margin-bottom: 10px;
}
/* небольшой твист для имитации рваного края у ленты */
.notebook-spine {
clip-path: polygon(0% 0%, 100% 3%, 100% 97%, 0% 100%);
}
</style>
</head>
<body>
<div class="container">
<!-- НОВАЯ БОКОВИНА: вместо кругляшей — современный тканевый корешок -->
<div class="notebook-spine"></div>
<!-- два поляроидных фото с подписями -->
<div class="arts-row">
<!-- Клайд -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://images.unsplash.com/photo-1579783900882-c0d3dad7b119?w=400&auto=format&fit=crop" alt="Клайд">
<div class="polaroid-caption">Клайд в чужих глазах</div>
</div>
</div>
<!-- дополнительная подпись снизу не нужна — она уже на поляроиде, но можно оставить пустое место -->
</div>
<!-- Шон -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://images.unsplash.com/photo-1579783901586-d88db74b4fe4?w=400&auto=format&fit=crop" alt="Шон">
<div class="polaroid-caption">Шон в чужих глазах</div>
</div>
</div>
</div>
</div>
<!-- текст со скроллом (полностью из первого кода) -->
<div class="text-block">
<div class="text-content">
Со стороны эти двое выглядят категорически контрастно и будто бы совсем не поддаются смешиванию, как нефть с водой. Долговязый, костлявый, с улыбкой человека, у которого имеются некоторые планы на твои похороны, а рядом с ним — массивный, спокойный, со взглядом уставшего санитара, давно смирившегося с необходимостью постоянно хлопотать над буйным пациентом. Им настолько не идет быть вместе, что неизбежность их абсолютного единства на лицо. Первое, что может прийти в голову, когда ты узнаешь, что они соулы, это: "Бедный Шон". Клайда, в свою очередь, никто не жалеет, ему в этой паре скорее "повезло встретить такого благоразумного и заботливого мужика", хотя по факту Клайд нередко ведет себя так, будто бы вообще не предназначен для удобоваримых и стабильных отношений, в куда большей мере увлекаясь убийствами и страданиями противников. Как у них там что происходит в жизни и уж тем более в постели — вообще непонятно, кто кого и каким образом, и случается ли у них это вообще — предположить тоже довольно сложно. Варианты могут разниться от "опасный садист и его многострадальный очаровашка-Шон" до "заботливый топ и его поехавшая головой двухметровая проблема". Но что-то у них однозначно мутится и крутится — тайное, темное, искрящееся, резкое, зависимое и дико напряженное.
</div>
</div>
</div>
</body>
</html>[/html]
Поделиться872026-02-22 21:20:26
[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Блокнот · Клайд + Шон</title>
<style>
/* ********************************************************************
БАЗОВАЯ СТРУКТУРА И АДАПТИВНОСТЬ — ИЗ ПЕРВОГО (ИДЕАЛЬНОГО) КОДА
******************************************************************** */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
}
body {
background: #cfc7b8; /* мягкий фон под старую бумагу */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
padding: 20px;
}
.container {
max-width: 1100px;
width: 100%;
margin: 0 auto;
background: #fefcf5; /* цвет страницы */
border-radius: 32px 32px 32px 32px;
padding: 40px 40px 50px;
border: 1px solid #d6cdbb;
position: relative;
/* линия переплёта */
background-image: linear-gradient(90deg, transparent 30px, #f3ede2 30px, #f3ede2 32px, transparent 32px);
margin-left: 18px; /* для боковины */
}
/* ===== БОКОВИНА (ТКАНЕВЫЙ КОРЕШОК) ===== */
.notebook-spine {
position: absolute;
top: 20px;
bottom: 20px;
left: -24px;
width: 32px;
background: #4f3f32;
border-radius: 20px 6px 6px 20px;
box-shadow: inset 3px 3px 8px #9c8874;
border-left: 2px solid #75604d;
border-right: 1px solid #2f241c;
z-index: 50;
background-image: repeating-linear-gradient(45deg, #6b5b4b 0px, #6b5b4b 3px, #534436 3px, #534436 7px);
}
.notebook-spine::after {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 8px;
right: 8px;
border-left: 2px dashed #eedbc4;
border-right: 2px dashed #eedbc4;
opacity: 0.65;
}
.notebook-spine::before {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 14px;
width: 3px;
background: repeating-linear-gradient(to bottom, #f3e1c2, #f3e1c2 8px, transparent 8px, transparent 16px);
opacity: 0.7;
}
/* ********************************************************************
ФОТОЧАСТЬ — СТИЛЬ ПОВОРОТОВ ИЗ ВТОРОГО КОДА (ПОЛЯРОИДЫ)
******************************************************************** */
.arts-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
gap: 40px 50px;
margin-bottom: 50px;
}
.art-card {
flex: 0 0 auto; /* как во втором коде — не растягиваются */
width: 300px; /* фиксированная ширина поляроида */
display: flex;
flex-direction: column;
align-items: center;
transition: all 0.3s ease;
}
/* ПОВОРОТЫ КАРТОЧЕК (точь-в-точь как во втором коде) */
.art-card:first-child {
transform: rotate(-1.5deg) translateY(0);
}
.art-card:last-child {
transform: rotate(2.5deg) translateY(8px);
}
/* ЭФФЕКТ ПРИ НАВЕДЕНИИ — ВЫПРЯМЛЕНИЕ + ПОДЪЁМ */
.art-card:first-child:hover,
.art-card:last-child:hover {
transform: rotate(0deg) scale(1.03) translateY(-15px);
box-shadow: 0 25px 30px rgba(0,0,0,0.4), 0 0 0 3px #f5e2b2;
transition: transform 0.25s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.2s;
z-index: 30;
}
.art-wrapper {
position: relative;
width: 100%;
}
/* СКРЕПКИ (стилизованы под металл) */
.clip {
position: absolute;
top: -16px;
font-size: 4rem;
line-height: 1;
color: #7a878b;
z-index: 40;
filter: drop-shadow(3px 5px 4px rgba(0,0,0,0.3));
text-shadow: 1px 2px 3px #2f3a40;
pointer-events: none;
}
.art-card:first-child .clip {
left: 10px;
transform: rotate(-15deg) scaleX(-1);
}
.art-card:last-child .clip {
right: 10px;
transform: rotate(12deg);
}
/* ПОЛЯРОИДНАЯ РАМКА — с правильным соотношением сторон 3:4 */
.frame {
width: 100%;
aspect-ratio: 3 / 4; /* классическое поляроидное фото */
background: #f4efe2;
padding: 0; /* убираем внутренние отступы, они теперь на рамке */
border: 12px solid #f4efe2; /* белое поле */
border-bottom: 42px solid #f4efe2; /* увеличенное нижнее поле для подписи */
box-shadow: 0 15px 20px rgba(0,0,0,0.35), 0 6px 0 #998f7c;
transition: all 0.3s ease;
position: relative;
}
/* изображение — заполняет область фото, но не обрезается (object-fit cover, чтобы не было пустот) */
.frame img {
display: block;
width: 100%;
height: 100%;
object-fit: cover; /* фото заполнит область, сохраняя пропорции (обрежется, но равномерно) */
object-position: center;
background: #bcb09b;
border: 2px solid #b7aa92;
box-shadow: inset 0 0 0 1px #ece3d0;
pointer-events: none;
}
/* ПОДПИСЬ — часть поляроида, теперь точно видима */
.polaroid-caption {
position: absolute;
bottom: -32px; /* опущена на нижнее поле */
left: 10px;
right: 10px;
text-align: center;
font-family: 'Courier New', 'Georgia', monospace;
font-size: 1.1rem;
letter-spacing: 1px;
color: #2d3a3f;
font-weight: 600;
text-transform: uppercase;
background: rgba(255, 250, 230, 0.8);
padding: 6px 0;
border-top: 1px dashed #bbaa8a;
border-bottom: 1px dashed #bbaa8a;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: color 0.2s, border-color 0.2s;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
z-index: 25;
}
/* небольшой дополнительный эффект при наведении на карточку */
.art-card:hover .polaroid-caption {
color: #1d2f38;
border-top-color: #8b755b;
border-bottom-color: #8b755b;
background: rgba(255, 248, 235, 0.95);
}
/* убираем лишний отступ снизу у wrapper */
.art-wrapper {
margin-bottom: 0;
}
/* ********************************************************************
ТЕКСТОВЫЙ БЛОК (ПОЛНОСТЬЮ ИЗ ПЕРВОГО КОДА + стилизация)
******************************************************************** */
.text-block {
position: relative;
background: #faf7f1;
border-radius: 24px;
border: 1px solid #ddd2c2;
box-shadow: inset 0 2px 8px #fff6ea, 0 8px 20px -12px #ad9f8f;
overflow: hidden;
margin-top: 40px;
background-image: repeating-linear-gradient(transparent, transparent 29px, #e1d7c8 30px, transparent 31px);
}
.text-content {
max-height: 320px;
overflow-y: auto;
padding: 32px 35px 32px 40px;
font-family: 'Georgia', 'Times New Roman', serif;
font-size: 1.25rem;
line-height: 2;
color: #2b2f28;
letter-spacing: 0.2px;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
background: transparent;
}
.text-block::before,
.text-block::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 28px;
pointer-events: none;
z-index: 5;
}
.text-block::before {
top: 0;
background: linear-gradient(to bottom, #faf7f1, rgba(250,247,241,0));
}
.text-block::after {
bottom: 0;
background: linear-gradient(to top, #faf7f1, rgba(250,247,241,0));
}
.text-content::-webkit-scrollbar {
width: 8px;
}
.text-content::-webkit-scrollbar-thumb {
background: #cfc3b4;
border-radius: 12px;
border: 1px solid #b3a18e;
}
.text-content {
scrollbar-width: thin;
scrollbar-color: #cfc3b4 #f0e9de;
}
/* ********************************************************************
АДАПТАЦИЯ (полностью из первого кода, с учётом фикс. ширины карточек)
******************************************************************** */
@media (max-width: 700px) {
body { padding: 12px; }
.container {
padding: 25px 20px 35px;
border-radius: 28px;
margin-left: 12px;
}
.notebook-spine {
left: -20px;
width: 28px;
}
.arts-row {
gap: 30px 35px;
}
.art-card {
width: 260px; /* чуть уже на планшетах */
}
.clip {
font-size: 3.5rem;
top: -14px;
}
.frame {
border-width: 10px;
border-bottom-width: 38px;
}
.polaroid-caption {
bottom: -30px;
font-size: 1rem;
}
.text-content {
max-height: 260px;
padding: 25px 25px 25px 30px;
font-size: 1.15rem;
}
}
@media (max-width: 650px) {
.art-card {
width: 280px; /* между планшетом и телефоном */
}
}
@media (max-width: 550px) {
body { padding: 8px; }
.container {
padding: 20px 15px 30px;
border-radius: 24px;
margin-left: 8px;
}
.notebook-spine {
left: -16px;
width: 24px;
}
.arts-row {
gap: 25px;
}
.art-card {
width: 260px;
}
.art-card:first-child {
transform: rotate(-1deg) translateY(0);
}
.art-card:last-child {
transform: rotate(1.5deg) translateY(5px);
}
.clip {
font-size: 3rem;
top: -12px;
}
.art-card:first-child .clip {
left: 5px;
}
.art-card:last-child .clip {
right: 5px;
}
.frame {
border-width: 8px;
border-bottom-width: 34px;
}
.polaroid-caption {
bottom: -27px;
font-size: 0.9rem;
letter-spacing: 0.5px;
left: 5px;
right: 5px;
}
.text-content {
max-height: 220px;
padding: 22px 18px;
font-size: 1.05rem;
}
}
@media (max-width: 400px) {
.art-card {
width: 220px; /* совсем маленькие */
}
.frame {
border-bottom-width: 32px;
}
.polaroid-caption {
bottom: -25px;
font-size: 0.8rem;
}
}
@media (max-width: 360px) {
.notebook-spine {
display: none; /* на узких экранах убираем боковину */
}
.container {
margin-left: 0;
}
}
</style>
</head>
<body>
<div class="container">
<!-- боковина -->
<div class="notebook-spine"></div>
<!-- две карточки в стиле поляроидов с поворотами -->
<div class="arts-row">
<!-- Клайд -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/463899.png" alt="Клайд">
<div class="polaroid-caption">Клайд в чужих глазах</div>
</div>
</div>
</div>
<!-- Шон -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/512387.png" alt="Шон">
<div class="polaroid-caption">Шон в чужих глазах</div>
</div>
</div>
</div>
</div>
<!-- текст со скроллом -->
<div class="text-block">
<div class="text-content">
Со стороны эти двое выглядят категорически контрастно и будто бы совсем не поддаются смешиванию, как нефть с водой. Долговязый, костлявый, с улыбкой человека, у которого имеются некоторые планы на твои похороны, а рядом с ним — массивный, спокойный, со взглядом уставшего санитара, давно смирившегося с необходимостью постоянно хлопотать над буйным пациентом. Им настолько не идет быть вместе, что неизбежность их абсолютного единства на лицо. Первое, что может прийти в голову, когда ты узнаешь, что они соулы, это: "Бедный Шон". Клайда, в свою очередь, никто не жалеет, ему в этой паре скорее "повезло встретить такого благоразумного и заботливого мужика", хотя по факту Клайд нередко ведет себя так, будто бы вообще не предназначен для удобоваримых и стабильных отношений, в куда большей мере увлекаясь убийствами и страданиями противников. Как у них там что происходит в жизни и уж тем более в постели — вообще непонятно, кто кого и каким образом, и случается ли у них это вообще — предположить тоже довольно сложно. Варианты могут разниться от "опасный садист и его многострадальный очаровашка-Шон" до "заботливый топ и его поехавшая головой двухметровая проблема". Но что-то у них однозначно мутится и крутится — тайное, темное, искрящееся, резкое, зависимое и дико напряженное.
</div>
</div>
</div>
</body>
</html>[/html]
Поделиться882026-02-22 21:53:41
[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Блокнот · Клайд + Шон</title>
<style>
/* ********************************************************************
БАЗОВАЯ СТРУКТУРА И АДАПТИВНОСТЬ — ИЗ ПЕРВОГО (ИДЕАЛЬНОГО) КОДА
******************************************************************** */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
}
body {
background: #cfc7b8; /* мягкий фон под старую бумагу */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
padding: 20px;
}
.container {
max-width: 1100px;
width: 100%;
margin: 0 auto;
background: #fefcf5; /* цвет страницы */
border-radius: 32px 32px 32px 32px;
padding: 40px 40px 50px;
border: 1px solid #d6cdbb;
position: relative;
/* линия переплёта */
background-image: linear-gradient(90deg, transparent 30px, #f3ede2 30px, #f3ede2 32px, transparent 32px);
margin-left: 18px; /* для боковины */
}
/* ===== БОКОВИНА (ТКАНЕВЫЙ КОРЕШОК) ===== */
.notebook-spine {
position: absolute;
top: 20px;
bottom: 20px;
left: -24px;
width: 32px;
background: #4f3f32;
border-radius: 20px 6px 6px 20px;
box-shadow: inset 3px 3px 8px #9c8874;
border-left: 2px solid #75604d;
border-right: 1px solid #2f241c;
z-index: 50;
background-image: repeating-linear-gradient(45deg, #6b5b4b 0px, #6b5b4b 3px, #534436 3px, #534436 7px);
}
.notebook-spine::after {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 8px;
right: 8px;
border-left: 2px dashed #eedbc4;
border-right: 2px dashed #eedbc4;
opacity: 0.65;
}
.notebook-spine::before {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 14px;
width: 3px;
background: repeating-linear-gradient(to bottom, #f3e1c2, #f3e1c2 8px, transparent 8px, transparent 16px);
opacity: 0.7;
}
/* ********************************************************************
ФОТОЧАСТЬ — СТИЛЬ ПОВОРОТОВ ИЗ ВТОРОГО КОДА (ПОЛЯРОИДЫ)
******************************************************************** */
.arts-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
gap: 40px 50px;
margin-bottom: 50px;
}
.art-card {
flex: 0 0 auto; /* как во втором коде — не растягиваются */
width: 300px; /* фиксированная ширина поляроида */
display: flex;
flex-direction: column;
align-items: center;
transition: all 0.3s ease;
}
/* ПОВОРОТЫ КАРТОЧЕК (точь-в-точь как во втором коде) */
.art-card:first-child {
transform: rotate(-1.5deg) translateY(0);
}
.art-card:last-child {
transform: rotate(2.5deg) translateY(8px);
}
/* ЭФФЕКТ ПРИ НАВЕДЕНИИ — ВЫПРЯМЛЕНИЕ + ПОДЪЁМ */
.art-card:first-child:hover,
.art-card:last-child:hover {
transform: rotate(0deg) scale(1.03) translateY(-15px);
box-shadow: 0 25px 30px rgba(0,0,0,0.4), 0 0 0 3px #f5e2b2;
transition: transform 0.25s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.2s;
z-index: 30;
}
.art-wrapper {
position: relative;
width: 100%;
}
/* СКРЕПКИ (стилизованы под металл) */
.clip {
position: absolute;
top: -16px;
font-size: 4rem;
line-height: 1;
color: #7a878b;
z-index: 40;
filter: drop-shadow(3px 5px 4px rgba(0,0,0,0.3));
text-shadow: 1px 2px 3px #2f3a40;
pointer-events: none;
}
.art-card:first-child .clip {
left: 10px;
transform: rotate(-15deg) scaleX(-1);
}
.art-card:last-child .clip {
right: 10px;
transform: rotate(12deg);
}
/* ПОЛЯРОИДНАЯ РАМКА — с правильным соотношением сторон 3:4 */
.frame {
width: 100%;
aspect-ratio: 3 / 4; /* классическое поляроидное фото */
background: #f4efe2;
padding: 0; /* убираем внутренние отступы, они теперь на рамке */
border: 12px solid #f4efe2; /* белое поле */
border-bottom: 42px solid #f4efe2; /* увеличенное нижнее поле для подписи */
box-shadow: 0 15px 20px rgba(0,0,0,0.35), 0 6px 0 #998f7c;
transition: all 0.3s ease;
position: relative;
}
/* изображение — заполняет область фото, но не обрезается (object-fit cover, чтобы не было пустот) */
.frame img {
display: block;
width: 100%;
height: 100%;
object-fit: cover; /* фото заполнит область, сохраняя пропорции (обрежется, но равномерно) */
object-position: center;
background: #bcb09b;
border: 2px solid #b7aa92;
box-shadow: inset 0 0 0 1px #ece3d0;
pointer-events: none;
}
/* ПОДПИСЬ — часть поляроида, теперь точно видима */
.polaroid-caption {
position: absolute;
bottom: -32px; /* опущена на нижнее поле */
left: 10px;
right: 10px;
text-align: center;
font-family: 'Courier New', 'Georgia', monospace;
font-size: 1.1rem;
letter-spacing: 1px;
color: #2d3a3f;
font-weight: 600;
text-transform: uppercase;
background: rgba(255, 250, 230, 0.8);
padding: 6px 0;
border-top: 1px dashed #bbaa8a;
border-bottom: 1px dashed #bbaa8a;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: color 0.2s, border-color 0.2s;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
z-index: 25;
}
/* небольшой дополнительный эффект при наведении на карточку */
.art-card:hover .polaroid-caption {
color: #1d2f38;
border-top-color: #8b755b;
border-bottom-color: #8b755b;
background: rgba(255, 248, 235, 0.95);
}
/* убираем лишний отступ снизу у wrapper */
.art-wrapper {
margin-bottom: 0;
}
/* ********************************************************************
ТЕКСТОВЫЙ БЛОК — НОВОЕ ОФОРМЛЕНИЕ (как в референсе)
******************************************************************** */
.text-block {
position: relative;
background: #faf7f1;
border-radius: 24px;
border: 1px solid #ddd2c2;
box-shadow: inset 0 2px 8px #fff6ea, 0 8px 20px -12px #ad9f8f;
overflow: hidden;
margin-top: 40px;
background-image: repeating-linear-gradient(transparent, transparent 29px, #e1d7c8 30px, transparent 31px);
}
.story {
max-height: 320px;
overflow-y: auto;
padding: 32px 35px 32px 40px;
font-family: 'Courier New', 'Georgia', serif;
font-size: 14px;
line-height: 1.95;
color: #2b2f28;
text-align: justify;
font-weight: 500;
text-shadow: 1px 1px white;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
background: transparent;
border-top: 3px double #b5a68c; /* двойная линия сверху как в референсе */
margin-top: 0; /* убираем лишний отступ */
}
/* Заглавная буква как в референсе */
.story p::first-letter {
font-size: 3rem;
float: left;
line-height: 0.8;
margin-right: 8px;
color: #3d4d40;
font-family: 'Times New Roman', serif;
font-weight: 700;
}
.text-block::before,
.text-block::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 28px;
pointer-events: none;
z-index: 5;
}
.text-block::before {
top: 0;
background: linear-gradient(to bottom, #faf7f1, rgba(250,247,241,0));
}
.text-block::after {
bottom: 0;
background: linear-gradient(to top, #faf7f1, rgba(250,247,241,0));
}
.story::-webkit-scrollbar {
width: 8px;
}
.story::-webkit-scrollbar-thumb {
background: #cfc3b4;
border-radius: 12px;
border: 1px solid #b3a18e;
}
.story {
scrollbar-width: thin;
scrollbar-color: #cfc3b4 #f0e9de;
}
/* ********************************************************************
АДАПТАЦИЯ (полностью из первого кода, с учётом фикс. ширины карточек)
******************************************************************** */
@media (max-width: 750px) {
body { padding: 12px; }
.container {
padding: 25px 20px 35px;
border-radius: 28px;
margin-left: 12px;
}
.notebook-spine {
left: -20px;
width: 28px;
}
.arts-row {
gap: 30px 35px;
}
.art-card {
width: 260px;
}
.clip {
font-size: 3.5rem;
top: -14px;
}
.frame {
border-width: 10px;
border-bottom-width: 38px;
}
.polaroid-caption {
bottom: -30px;
font-size: 1rem;
}
.story {
max-height: 260px;
padding: 25px 25px 25px 30px;
font-size: 1.15rem;
}
.story p::first-letter {
font-size: 2.8rem;
}
}
@media (max-width: 650px) {
.art-card {
width: 280px;
}
}
@media (max-width: 550px) {
body { padding: 8px; }
.container {
padding: 20px 15px 30px;
border-radius: 24px;
margin-left: 8px;
}
.notebook-spine {
left: -16px;
width: 24px;
}
.arts-row {
gap: 25px;
}
.art-card {
width: 260px;
}
.art-card:first-child {
transform: rotate(-1deg) translateY(0);
}
.art-card:last-child {
transform: rotate(1.5deg) translateY(5px);
}
.clip {
font-size: 3rem;
top: -12px;
}
.art-card:first-child .clip {
left: 5px;
}
.art-card:last-child .clip {
right: 5px;
}
.frame {
border-width: 8px;
border-bottom-width: 34px;
}
.polaroid-caption {
bottom: -27px;
font-size: 0.9rem;
letter-spacing: 0.5px;
left: 5px;
right: 5px;
}
.story {
max-height: 220px;
padding: 22px 18px;
font-size: 1.05rem;
}
.story p::first-letter {
font-size: 2.5rem;
}
}
@media (max-width: 400px) {
.art-card {
width: 220px;
}
.frame {
border-bottom-width: 32px;
}
.polaroid-caption {
bottom: -25px;
font-size: 0.8rem;
}
.story p::first-letter {
font-size: 2.2rem;
}
}
@media (max-width: 360px) {
.notebook-spine {
display: none;
}
.container {
margin-left: 0;
}
}
</style>
</head>
<body>
<div class="container">
<!-- боковина -->
<div class="notebook-spine"></div>
<!-- две карточки в стиле поляроидов с поворотами -->
<div class="arts-row">
<!-- Клайд -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/463899.png" alt="Клайд">
<div class="polaroid-caption">Клайд в чужих глазах</div>
</div>
</div>
</div>
<!-- Шон -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/512387.png" alt="Шон">
<div class="polaroid-caption">Шон в чужих глазах</div>
</div>
</div>
</div>
</div>
<!-- текст с новым оформлением -->
<div class="text-block">
<div class="story">
<p>
Со стороны эти двое выглядят категорически контрастно и будто бы совсем не поддаются смешиванию, как нефть с водой. Долговязый, костлявый, с улыбкой человека, у которого имеются некоторые планы на твои похороны, а рядом с ним — массивный, спокойный, со взглядом уставшего санитара, давно смирившегося с необходимостью постоянно хлопотать над буйным пациентом. Им настолько не идет быть вместе, что неизбежность их абсолютного единства на лицо. Первое, что может прийти в голову, когда ты узнаешь, что они соулы, это: "Бедный Шон". Клайда, в свою очередь, никто не жалеет, ему в этой паре скорее "повезло встретить такого благоразумного и заботливого мужика", хотя по факту Клайд нередко ведет себя так, будто бы вообще не предназначен для удобоваримых и стабильных отношений, в куда большей мере увлекаясь убийствами и страданиями противников. Как у них там что происходит в жизни и уж тем более в постели — вообще непонятно, кто кого и каким образом, и случается ли у них это вообще — предположить тоже довольно сложно. Варианты могут разниться от "опасный садист и его многострадальный очаровашка-Шон" до "заботливый топ и его поехавшая головой двухметровая проблема". Но что-то у них однозначно мутится и крутится — тайное, темное, искрящееся, резкое, зависимое и дико напряженное.
</p>
</div>
</div>
</div>
</body>
</html>[/html]
Поделиться892026-02-22 21:56:58
Задание 2.7. В глазах других
[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Блокнот · Клайд + Шон</title>
<style>
/* ********************************************************************
БАЗОВАЯ СТРУКТУРА И АДАПТИВНОСТЬ — ИЗ ПЕРВОГО (ИДЕАЛЬНОГО) КОДА
******************************************************************** */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
}
body {
background: #cfc7b8; /* мягкий фон под старую бумагу */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
padding: 20px;
}
.container {
max-width: 1100px;
width: 100%;
margin: 0 auto;
background: #fefcf5; /* цвет страницы */
border-radius: 32px 32px 32px 32px;
padding: 40px 40px 50px;
border: 1px solid #d6cdbb;
position: relative;
/* линия переплёта */
background-image: linear-gradient(90deg, transparent 30px, #f3ede2 30px, #f3ede2 32px, transparent 32px);
margin-left: 18px; /* для боковины */
}
/* ===== БОКОВИНА (ТКАНЕВЫЙ КОРЕШОК) ===== */
.notebook-spine {
position: absolute;
top: 20px;
bottom: 20px;
left: -24px;
width: 32px;
background: #4f3f32;
border-radius: 20px 6px 6px 20px;
box-shadow: inset 3px 3px 8px #9c8874;
border-left: 2px solid #75604d;
border-right: 1px solid #2f241c;
z-index: 50;
background-image: repeating-linear-gradient(45deg, #6b5b4b 0px, #6b5b4b 3px, #534436 3px, #534436 7px);
}
.notebook-spine::after {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 8px;
right: 8px;
border-left: 2px dashed #eedbc4;
border-right: 2px dashed #eedbc4;
opacity: 0.65;
}
.notebook-spine::before {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 14px;
width: 3px;
background: repeating-linear-gradient(to bottom, #f3e1c2, #f3e1c2 8px, transparent 8px, transparent 16px);
opacity: 0.7;
}
/* ********************************************************************
ФОТОЧАСТЬ — СТИЛЬ ПОВОРОТОВ ИЗ ВТОРОГО КОДА (ПОЛЯРОИДЫ)
******************************************************************** */
.arts-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
gap: 40px 50px;
margin-bottom: 50px;
}
.art-card {
flex: 0 0 auto; /* как во втором коде — не растягиваются */
width: 300px; /* фиксированная ширина поляроида */
display: flex;
flex-direction: column;
align-items: center;
transition: all 0.3s ease;
}
/* ПОВОРОТЫ КАРТОЧЕК (точь-в-точь как во втором коде) */
.art-card:first-child {
transform: rotate(-1.5deg) translateY(0);
}
.art-card:last-child {
transform: rotate(2.5deg) translateY(8px);
}
/* ЭФФЕКТ ПРИ НАВЕДЕНИИ — ВЫПРЯМЛЕНИЕ + ПОДЪЁМ */
.art-card:first-child:hover,
.art-card:last-child:hover {
transform: rotate(0deg) scale(1.03) translateY(-15px);
box-shadow: 0 25px 30px rgba(0,0,0,0.4), 0 0 0 3px #f5e2b2;
transition: transform 0.25s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.2s;
z-index: 30;
}
.art-wrapper {
position: relative;
width: 100%;
}
/* СКРЕПКИ (стилизованы под металл) */
.clip {
position: absolute;
top: -16px;
font-size: 4rem;
line-height: 1;
color: #7a878b;
z-index: 40;
filter: drop-shadow(3px 5px 4px rgba(0,0,0,0.3));
text-shadow: 1px 2px 3px #2f3a40;
pointer-events: none;
}
.art-card:first-child .clip {
left: 10px;
transform: rotate(-15deg) scaleX(-1);
}
.art-card:last-child .clip {
right: 10px;
transform: rotate(12deg);
}
/* ПОЛЯРОИДНАЯ РАМКА — с правильным соотношением сторон 3:4 */
.frame {
width: 100%;
aspect-ratio: 3 / 4; /* классическое поляроидное фото */
background: #f4efe2;
padding: 0; /* убираем внутренние отступы, они теперь на рамке */
border: 12px solid #f4efe2; /* белое поле */
border-bottom: 42px solid #f4efe2; /* увеличенное нижнее поле для подписи */
box-shadow: 0 15px 20px rgba(0,0,0,0.35), 0 6px 0 #998f7c;
transition: all 0.3s ease;
position: relative;
}
/* изображение — заполняет область фото, но не обрезается (object-fit cover, чтобы не было пустот) */
.frame img {
display: block;
width: 100%;
height: 100%;
object-fit: cover; /* фото заполнит область, сохраняя пропорции (обрежется, но равномерно) */
object-position: center;
background: #bcb09b;
border: 2px solid #b7aa92;
box-shadow: inset 0 0 0 1px #ece3d0;
pointer-events: none;
}
/* ПОДПИСЬ — часть поляроида, теперь точно видима */
.polaroid-caption {
position: absolute;
bottom: -32px; /* опущена на нижнее поле */
left: 10px;
right: 10px;
text-align: center;
font-family: 'Courier New', 'Georgia', monospace;
font-size: 1.1rem;
letter-spacing: 1px;
color: #2d3a3f;
font-weight: 600;
text-transform: uppercase;
background: rgba(255, 250, 230, 0.8);
padding: 6px 0;
border-top: 1px dashed #bbaa8a;
border-bottom: 1px dashed #bbaa8a;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: color 0.2s, border-color 0.2s;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
z-index: 25;
}
/* небольшой дополнительный эффект при наведении на карточку */
.art-card:hover .polaroid-caption {
color: #1d2f38;
border-top-color: #8b755b;
border-bottom-color: #8b755b;
background: rgba(255, 248, 235, 0.95);
}
/* убираем лишний отступ снизу у wrapper */
.art-wrapper {
margin-bottom: 0;
}
/* ********************************************************************
ТЕКСТОВЫЙ БЛОК — НОВОЕ ОФОРМЛЕНИЕ (как в референсе)
******************************************************************** */
.text-block {
position: relative;
background: #faf7f1;
border-radius: 24px;
border: 1px solid #ddd2c2;
box-shadow: inset 0 2px 8px #fff6ea, 0 8px 20px -12px #ad9f8f;
overflow: hidden;
margin-top: 40px;
background-image: repeating-linear-gradient(transparent, transparent 29px, #e1d7c8 30px, transparent 31px);
}
.story {
max-height: 320px;
overflow-y: auto;
padding: 32px 35px 32px 40px;
font-family: 'Courier New', 'Georgia', serif;
font-size: 14px;
line-height: 1.95;
color: #2b2f28;
text-align: justify;
font-weight: 500;
text-shadow: 1px 1px white;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
background: transparent;
border-top: 3px double #b5a68c; /* двойная линия сверху как в референсе */
margin-top: 0; /* убираем лишний отступ */
}
/* Заглавная буква как в референсе */
.story p::first-letter {
font-size: 3rem;
float: left;
line-height: 0.8;
margin-right: 8px;
color: #3d4d40;
font-family: 'Times New Roman', serif;
font-weight: 700;
}
.text-block::before,
.text-block::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 28px;
pointer-events: none;
z-index: 5;
}
.text-block::before {
top: 0;
background: linear-gradient(to bottom, #faf7f1, rgba(250,247,241,0));
}
.text-block::after {
bottom: 0;
background: linear-gradient(to top, #faf7f1, rgba(250,247,241,0));
}
.story::-webkit-scrollbar {
width: 8px;
}
.story::-webkit-scrollbar-thumb {
background: #cfc3b4;
border-radius: 12px;
border: 1px solid #b3a18e;
}
.story {
scrollbar-width: thin;
scrollbar-color: #cfc3b4 #f0e9de;
}
/* ********************************************************************
АДАПТАЦИЯ (полностью из первого кода, с учётом фикс. ширины карточек)
******************************************************************** */
@media (max-width: 750px) {
body { padding: 12px; }
.container {
padding: 25px 20px 35px;
border-radius: 28px;
margin-left: 12px;
}
.notebook-spine {
left: -20px;
width: 28px;
}
.arts-row {
gap: 30px 35px;
}
.art-card {
width: 260px;
}
.clip {
font-size: 3.5rem;
top: -14px;
}
.frame {
border-width: 10px;
border-bottom-width: 38px;
}
.polaroid-caption {
bottom: -30px;
font-size: 1rem;
}
.story {
max-height: 260px;
padding: 25px 25px 25px 30px;
font-size: 1.15rem;
}
.story p::first-letter {
font-size: 2.8rem;
}
}
@media (max-width: 650px) {
.art-card {
width: 280px;
}
}
@media (max-width: 550px) {
body { padding: 8px; }
.container {
padding: 20px 15px 30px;
border-radius: 24px;
margin-left: 8px;
}
.notebook-spine {
left: -16px;
width: 24px;
}
.arts-row {
gap: 25px;
}
.art-card {
width: 260px;
}
.art-card:first-child {
transform: rotate(-1deg) translateY(0);
}
.art-card:last-child {
transform: rotate(1.5deg) translateY(5px);
}
.clip {
font-size: 3rem;
top: -12px;
}
.art-card:first-child .clip {
left: 5px;
}
.art-card:last-child .clip {
right: 5px;
}
.frame {
border-width: 8px;
border-bottom-width: 34px;
}
.polaroid-caption {
bottom: -27px;
font-size: 0.9rem;
letter-spacing: 0.5px;
left: 5px;
right: 5px;
}
.story {
max-height: 220px;
padding: 22px 18px;
font-size: 1.05rem;
}
.story p::first-letter {
font-size: 2.5rem;
}
}
@media (max-width: 400px) {
.art-card {
width: 220px;
}
.frame {
border-bottom-width: 32px;
}
.polaroid-caption {
bottom: -25px;
font-size: 0.8rem;
}
.story p::first-letter {
font-size: 2.2rem;
}
}
@media (max-width: 360px) {
.notebook-spine {
display: none;
}
.container {
margin-left: 0;
}
}
</style>
</head>
<body>
<div class="container">
<!-- боковина -->
<div class="notebook-spine"></div>
<!-- две карточки в стиле поляроидов с поворотами -->
<div class="arts-row">
<!-- Клайд -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/463899.png" alt="Клайд">
<div class="polaroid-caption">Клайд в чужих глазах</div>
</div>
</div>
</div>
<!-- Шон -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/512387.png" alt="Шон">
<div class="polaroid-caption">Шон в чужих глазах</div>
</div>
</div>
</div>
</div>
<!-- текст с новым оформлением -->
<div class="text-block">
<div class="story">
<p>
Со стороны эти двое выглядят категорически контрастно и будто бы совсем не поддаются смешиванию, как нефть с водой. Долговязый, костлявый, с улыбкой человека, у которого имеются некоторые планы на твои похороны, а рядом с ним — массивный, спокойный, со взглядом уставшего санитара, давно смирившегося с необходимостью постоянно хлопотать над буйным пациентом. Им настолько не идет быть вместе, что неизбежность их абсолютного единства на лицо. Первое, что может прийти в голову, когда ты узнаешь, что они соулы, это: "Бедный Шон". Клайда, в свою очередь, никто не жалеет, ему в этой паре скорее "повезло встретить такого благоразумного и заботливого мужика", хотя по факту Клайд нередко ведет себя так, будто бы вообще не предназначен для удобоваримых и стабильных отношений, в куда большей мере увлекаясь убийствами и страданиями противников. Как у них там что происходит в жизни и уж тем более в постели — вообще непонятно, кто кого и каким образом, и случается ли у них это вообще — предположить тоже довольно сложно. Варианты могут разниться от "опасный садист и его многострадальный очаровашка-Шон" до "заботливый топ и его поехавшая головой двухметровая проблема". Но что-то у них однозначно мутится и крутится — тайное, темное, искрящееся, резкое, зависимое и дико напряженное.
</p>
</div>
</div>
</div>
</body>
</html>[/html]
Поделиться902026-02-22 21:57:22
[quote][align=center][font=Century Gothic]Задание 2.7. В глазах других[/font][/align][/quote]
[html]<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Блокнот · Клайд + Шон</title>
<style>
/* ********************************************************************
БАЗОВАЯ СТРУКТУРА И АДАПТИВНОСТЬ — ИЗ ПЕРВОГО (ИДЕАЛЬНОГО) КОДА
******************************************************************** */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html, body {
width: 100%;
}
body {
background: #cfc7b8; /* мягкий фон под старую бумагу */
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
padding: 20px;
}
.container {
max-width: 1100px;
width: 100%;
margin: 0 auto;
background: #fefcf5; /* цвет страницы */
border-radius: 32px 32px 32px 32px;
padding: 40px 40px 50px;
border: 1px solid #d6cdbb;
position: relative;
/* линия переплёта */
background-image: linear-gradient(90deg, transparent 30px, #f3ede2 30px, #f3ede2 32px, transparent 32px);
margin-left: 18px; /* для боковины */
}
/* ===== БОКОВИНА (ТКАНЕВЫЙ КОРЕШОК) ===== */
.notebook-spine {
position: absolute;
top: 20px;
bottom: 20px;
left: -24px;
width: 32px;
background: #4f3f32;
border-radius: 20px 6px 6px 20px;
box-shadow: inset 3px 3px 8px #9c8874;
border-left: 2px solid #75604d;
border-right: 1px solid #2f241c;
z-index: 50;
background-image: repeating-linear-gradient(45deg, #6b5b4b 0px, #6b5b4b 3px, #534436 3px, #534436 7px);
}
.notebook-spine::after {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 8px;
right: 8px;
border-left: 2px dashed #eedbc4;
border-right: 2px dashed #eedbc4;
opacity: 0.65;
}
.notebook-spine::before {
content: "";
position: absolute;
top: 20px;
bottom: 20px;
left: 14px;
width: 3px;
background: repeating-linear-gradient(to bottom, #f3e1c2, #f3e1c2 8px, transparent 8px, transparent 16px);
opacity: 0.7;
}
/* ********************************************************************
ФОТОЧАСТЬ — СТИЛЬ ПОВОРОТОВ ИЗ ВТОРОГО КОДА (ПОЛЯРОИДЫ)
******************************************************************** */
.arts-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
gap: 40px 50px;
margin-bottom: 50px;
}
.art-card {
flex: 0 0 auto; /* как во втором коде — не растягиваются */
width: 300px; /* фиксированная ширина поляроида */
display: flex;
flex-direction: column;
align-items: center;
transition: all 0.3s ease;
}
/* ПОВОРОТЫ КАРТОЧЕК (точь-в-точь как во втором коде) */
.art-card:first-child {
transform: rotate(-1.5deg) translateY(0);
}
.art-card:last-child {
transform: rotate(2.5deg) translateY(8px);
}
/* ЭФФЕКТ ПРИ НАВЕДЕНИИ — ВЫПРЯМЛЕНИЕ + ПОДЪЁМ */
.art-card:first-child:hover,
.art-card:last-child:hover {
transform: rotate(0deg) scale(1.03) translateY(-15px);
box-shadow: 0 25px 30px rgba(0,0,0,0.4), 0 0 0 3px #f5e2b2;
transition: transform 0.25s cubic-bezier(0.2, 1.2, 0.3, 1), box-shadow 0.2s;
z-index: 30;
}
.art-wrapper {
position: relative;
width: 100%;
}
/* СКРЕПКИ (стилизованы под металл) */
.clip {
position: absolute;
top: -16px;
font-size: 4rem;
line-height: 1;
color: #7a878b;
z-index: 40;
filter: drop-shadow(3px 5px 4px rgba(0,0,0,0.3));
text-shadow: 1px 2px 3px #2f3a40;
pointer-events: none;
}
.art-card:first-child .clip {
left: 10px;
transform: rotate(-15deg) scaleX(-1);
}
.art-card:last-child .clip {
right: 10px;
transform: rotate(12deg);
}
/* ПОЛЯРОИДНАЯ РАМКА — с правильным соотношением сторон 3:4 */
.frame {
width: 100%;
aspect-ratio: 3 / 4; /* классическое поляроидное фото */
background: #f4efe2;
padding: 0; /* убираем внутренние отступы, они теперь на рамке */
border: 12px solid #f4efe2; /* белое поле */
border-bottom: 42px solid #f4efe2; /* увеличенное нижнее поле для подписи */
box-shadow: 0 15px 20px rgba(0,0,0,0.35), 0 6px 0 #998f7c;
transition: all 0.3s ease;
position: relative;
}
/* изображение — заполняет область фото, но не обрезается (object-fit cover, чтобы не было пустот) */
.frame img {
display: block;
width: 100%;
height: 100%;
object-fit: cover; /* фото заполнит область, сохраняя пропорции (обрежется, но равномерно) */
object-position: center;
background: #bcb09b;
border: 2px solid #b7aa92;
box-shadow: inset 0 0 0 1px #ece3d0;
pointer-events: none;
}
/* ПОДПИСЬ — часть поляроида, теперь точно видима */
.polaroid-caption {
position: absolute;
bottom: -32px; /* опущена на нижнее поле */
left: 10px;
right: 10px;
text-align: center;
font-family: 'Courier New', 'Georgia', monospace;
font-size: 1.1rem;
letter-spacing: 1px;
color: #2d3a3f;
font-weight: 600;
text-transform: uppercase;
background: rgba(255, 250, 230, 0.8);
padding: 6px 0;
border-top: 1px dashed #bbaa8a;
border-bottom: 1px dashed #bbaa8a;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: color 0.2s, border-color 0.2s;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
z-index: 25;
}
/* небольшой дополнительный эффект при наведении на карточку */
.art-card:hover .polaroid-caption {
color: #1d2f38;
border-top-color: #8b755b;
border-bottom-color: #8b755b;
background: rgba(255, 248, 235, 0.95);
}
/* убираем лишний отступ снизу у wrapper */
.art-wrapper {
margin-bottom: 0;
}
/* ********************************************************************
ТЕКСТОВЫЙ БЛОК — НОВОЕ ОФОРМЛЕНИЕ (как в референсе)
******************************************************************** */
.text-block {
position: relative;
background: #faf7f1;
border-radius: 24px;
border: 1px solid #ddd2c2;
box-shadow: inset 0 2px 8px #fff6ea, 0 8px 20px -12px #ad9f8f;
overflow: hidden;
margin-top: 40px;
background-image: repeating-linear-gradient(transparent, transparent 29px, #e1d7c8 30px, transparent 31px);
}
.story {
max-height: 320px;
overflow-y: auto;
padding: 32px 35px 32px 40px;
font-family: 'Courier New', 'Georgia', serif;
font-size: 14px;
line-height: 1.95;
color: #2b2f28;
text-align: justify;
font-weight: 500;
text-shadow: 1px 1px white;
scroll-behavior: smooth;
-webkit-overflow-scrolling: touch;
background: transparent;
border-top: 3px double #b5a68c; /* двойная линия сверху как в референсе */
margin-top: 0; /* убираем лишний отступ */
}
/* Заглавная буква как в референсе */
.story p::first-letter {
font-size: 3rem;
float: left;
line-height: 0.8;
margin-right: 8px;
color: #3d4d40;
font-family: 'Times New Roman', serif;
font-weight: 700;
}
.text-block::before,
.text-block::after {
content: "";
position: absolute;
left: 0;
right: 0;
height: 28px;
pointer-events: none;
z-index: 5;
}
.text-block::before {
top: 0;
background: linear-gradient(to bottom, #faf7f1, rgba(250,247,241,0));
}
.text-block::after {
bottom: 0;
background: linear-gradient(to top, #faf7f1, rgba(250,247,241,0));
}
.story::-webkit-scrollbar {
width: 8px;
}
.story::-webkit-scrollbar-thumb {
background: #cfc3b4;
border-radius: 12px;
border: 1px solid #b3a18e;
}
.story {
scrollbar-width: thin;
scrollbar-color: #cfc3b4 #f0e9de;
}
/* ********************************************************************
АДАПТАЦИЯ (полностью из первого кода, с учётом фикс. ширины карточек)
******************************************************************** */
@media (max-width: 750px) {
body { padding: 12px; }
.container {
padding: 25px 20px 35px;
border-radius: 28px;
margin-left: 12px;
}
.notebook-spine {
left: -20px;
width: 28px;
}
.arts-row {
gap: 30px 35px;
}
.art-card {
width: 260px;
}
.clip {
font-size: 3.5rem;
top: -14px;
}
.frame {
border-width: 10px;
border-bottom-width: 38px;
}
.polaroid-caption {
bottom: -30px;
font-size: 1rem;
}
.story {
max-height: 260px;
padding: 25px 25px 25px 30px;
font-size: 1.15rem;
}
.story p::first-letter {
font-size: 2.8rem;
}
}
@media (max-width: 650px) {
.art-card {
width: 280px;
}
}
@media (max-width: 550px) {
body { padding: 8px; }
.container {
padding: 20px 15px 30px;
border-radius: 24px;
margin-left: 8px;
}
.notebook-spine {
left: -16px;
width: 24px;
}
.arts-row {
gap: 25px;
}
.art-card {
width: 260px;
}
.art-card:first-child {
transform: rotate(-1deg) translateY(0);
}
.art-card:last-child {
transform: rotate(1.5deg) translateY(5px);
}
.clip {
font-size: 3rem;
top: -12px;
}
.art-card:first-child .clip {
left: 5px;
}
.art-card:last-child .clip {
right: 5px;
}
.frame {
border-width: 8px;
border-bottom-width: 34px;
}
.polaroid-caption {
bottom: -27px;
font-size: 0.9rem;
letter-spacing: 0.5px;
left: 5px;
right: 5px;
}
.story {
max-height: 220px;
padding: 22px 18px;
font-size: 1.05rem;
}
.story p::first-letter {
font-size: 2.5rem;
}
}
@media (max-width: 400px) {
.art-card {
width: 220px;
}
.frame {
border-bottom-width: 32px;
}
.polaroid-caption {
bottom: -25px;
font-size: 0.8rem;
}
.story p::first-letter {
font-size: 2.2rem;
}
}
@media (max-width: 360px) {
.notebook-spine {
display: none;
}
.container {
margin-left: 0;
}
}
</style>
</head>
<body>
<div class="container">
<!-- боковина -->
<div class="notebook-spine"></div>
<!-- две карточки в стиле поляроидов с поворотами -->
<div class="arts-row">
<!-- Клайд -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/463899.png" alt="Клайд">
<div class="polaroid-caption">Клайд в чужих глазах</div>
</div>
</div>
</div>
<!-- Шон -->
<div class="art-card">
<div class="art-wrapper">
<span class="clip">📎</span>
<div class="frame">
<img src="https://upforme.ru/uploads/001c/82/f2/62/512387.png" alt="Шон">
<div class="polaroid-caption">Шон в чужих глазах</div>
</div>
</div>
</div>
</div>
<!-- текст с новым оформлением -->
<div class="text-block">
<div class="story">
<p>
Со стороны эти двое выглядят категорически контрастно и будто бы совсем не поддаются смешиванию, как нефть с водой. Долговязый, костлявый, с улыбкой человека, у которого имеются некоторые планы на твои похороны, а рядом с ним — массивный, спокойный, со взглядом уставшего санитара, давно смирившегося с необходимостью постоянно хлопотать над буйным пациентом. Им настолько не идет быть вместе, что неизбежность их абсолютного единства на лицо. Первое, что может прийти в голову, когда ты узнаешь, что они соулы, это: "Бедный Шон". Клайда, в свою очередь, никто не жалеет, ему в этой паре скорее "повезло встретить такого благоразумного и заботливого мужика", хотя по факту Клайд нередко ведет себя так, будто бы вообще не предназначен для удобоваримых и стабильных отношений, в куда большей мере увлекаясь убийствами и страданиями противников. Как у них там что происходит в жизни и уж тем более в постели — вообще непонятно, кто кого и каким образом, и случается ли у них это вообще — предположить тоже довольно сложно. Варианты могут разниться от "опасный садист и его многострадальный очаровашка-Шон" до "заботливый топ и его поехавшая головой двухметровая проблема". Но что-то у них однозначно мутится и крутится — тайное, темное, искрящееся, резкое, зависимое и дико напряженное.
</p>
</div>
</div>
</div>
</body>
</html>[/html]
[media="бонус"][video]https://t.me/memoroliki/4[/video][/media]