Картинка с ссылкой размножилась (HTML + CSS)
Я пишу для себя мини магазин, так вот когда нажимаешь на Detail тебя должно перевести на страницу где описание кроссовок. Но у меня что то пошло не так, картинка Detail (ее стало слишком много)
Там по сути должна быть одна картинка «Detail» чтобы нажав на нее тебя перекидывало на другую страницу, странно что перекидывает но картинки Детойл слишком много, как можно сделать так чтобы для каждого товара она была одна.
Вот мой HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Shoes Store from templatemo</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <link href="/templatemo_style.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" href="nivo-slider.css" type="text/css" media="screen" /> <link rel="stylesheet" type="text/css" href="css/ddsmoothmenu.css" /> <script type="text/javascript" src="/js/jquery.min.js"></script> <script type="text/javascript" src="/js/ddsmoothmenu.js"> </script> <script type="text/javascript"> ddsmoothmenu.init({ mainmenuid: "top_nav", //menu DIV id orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v" classname: 'ddsmoothmenu', //class added to menu's outer DIV //customtheme: ["#1c5a80", "#18374a"], contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"] }) </script> </head> <body> <h2 align="center">Mini Shop on Spring Framework by Adil</h2> <div data-th-each="product : ${products}"> <h4 data-th-text="${product.title}"></h4> <a data-th-href="@{/catalog/products/{productId}(productId=${product. id})}"><img src="/images/product/01.jpg" alt="Shoes 1" /></a> <p data-th-text="${product.description}"></p> <p>34000 Тенге</p> <a data-th-href="@{/catalog/products/{productId}(productId=${product.id})}"></a> </div> <div></div> </body> </html>
Вот мой CSS там пару раз используется класс Detail скорее всего там совершил ошибку
body { margin: 0; padding: 0; color: #999; font-family: Tahoma, Geneva, sans-serif; font-size: 12px; line-height: 1.4em; background-color: #665f5f; background-repeat: repeat; background-image: url(images/fon.png) } a, a:link, a:visited { color: #0299aa; font-weight: normal; text-decoration: none } a:hover { text-decoration: underline; } a.addtocart{ display: inline-block; width: 80px; height: 21px; line-height: 21px; text-align: center; font-size: 10px; font-weight: bold; color: #333; background: url(images/templatemo_addtocart.png) }
////// ВОТ
a.detail{ text-align: center; padding-bottom: 30px; background: url(images/templatemo_detail.png) } h2, h3, h4, h5, h5, h6 { color: #333; font-weight: normal; } h2 { font-size: 30px; margin-left: auto; margin-right: auto; padding: 5px 0 } h3 { font-size: 26px; margin: 0 0 25px; padding: 5px 0 } h4 { font-size: 20px; margin: 0 0 20px; padding: 0; } h5 { font-size: 16px; margin: 0 0 15px; padding: 0; } h5 { font-size: 14px; margin: 0 0 10px; padding: 0; } h6 { font-size: 12px; margin: 0 0 5px; padding: 0; } .cleaner { clear: both } .h20 { height: 10px } .h30 { height: 20px } .h40 { height: 30px } .h50 { height: 40px } .h50 { height: 50px } .float_r { margin-left: auto; margin-right: auto; width: 40em; } .bs_box { clear: both; margin-bottom: 20px } .bs_box img { float: left; margin-right: 10px; border: 4px solid #fff } .bs_box h5 { margin-bottom: 0 } .bs_box h5 a { font-size: 11px; color: #000; font-weight: 700} .bs_box . price { font-size: 12px; font-weight: 700; color: #11bdd1} .product_box { width: 30em; text-align: center; display:inline-block; border-bottom: 1px dotted #ccc } .product_box img { margin-bottom: 5px; } .product_box h4 { font-size: 11px; color: #000; font-weight: 700; margin-bottom: 10px; } .product_box .product_price { color: #11bdd1; font-size: 14px; font-weight: 700; margin-bottom: 20px; } .product_box .addtocart { float: left; display: block; }
/////ВОТ
.product_box .detail { float: right; display: block; }
Битые картинки vs CSS
Блог / Танцы с CSS / Битые картинки vs CSS
Перефразируя устойчивое выражение: broken image happens. И раз уж они все равно могут появиться на вашем сайте, то с ними нужно что то делать, т.е. как минимум иметь механизм управления их внешним видом, вместо стандартного поведения браузера.
Здесь мы не будем рассматривать возможности JS, где вы можете вылавливать события onerror объекта window, что позволит реализовать любую логику дальнейшего поведения (например, протоколирование фронт-енд ошибок на сервере). Мы остановимся на CSS трюках, чтобы визуально оформить наши битые картинки.
Объектом исследования станет следующий HTML пример:
<img src=»Сломанный урл» alt=»Broken image» />
<img src=»Сломанный урл»
alt=»Broken image» /> |
Результат рендеринга такого <IMG> (возможно, немного иной для разных браузеров) вы видите в начале статьи.
Прячем калеку
Первое желание — это спрятать покалеченную картинку, по крайней мере, пустой квадрат выглядит лучше. Сделать это просто:
img { text-indent: -10000px; }
img { text-indent: -10000px; } |
Если изображение не прогрузилось, то вместо неё будет пустое пространство.
Заменяем битую картинку своим изображением
Аналогично тому, что сайты показывают специально оформленную страницу вместо стандартной 404й ошибки, было бы здорово показывать специально подготовленную картинку вместо битого изображения.
Это может логотип компании, или изображение с надписью — «Картинка подготавливается», тут ваша фантазия должна вам подсказать как обыграть данную ситуацию.
«Резервное» изображение цепляется как background-image самого тега IMG или его псевдо-контейнеров. Пример стилей:
img { position: relative; } img::before { width: 100%; height: 100%; position: absolute; content: «»; background: #fff url(https://ВАША-КАРТИНКА) center center no-repeat; background-size: contain; }
1 2 3 4 5 6 7 8 9 10 11 12 |
img { position: relative; }
img::before { width: 100%; height: 100%; position: absolute; content: «»; background: #fff url(https://ВАША-КАРТИНКА) center center no-repeat; background-size: contain; } |
По сути ясно, что сам контейнер IMG и его псевдо-элементы, идут поверх слоя «битой» картинки, и, таким образом, маскируют её от пользователя.
Написать комментарий
Данная запись опубликована в 06.02.2021 13:00 и размещена в Танцы с CSS. Вы можете перейти в конец страницы и оставить ваш комментарий.
Комментарии к «Битые картинки vs CSS»
Понравилась статья? Есть вопросы? — пишите в комментариях.
Как центрировать изображения с помощью CSS
Автор Дэвид Абрахам
Узнайте, как сделать так, чтобы изображения отображались именно там, где вы хотите, с помощью этих полезных советов по центрированию.
Хотите центрировать изображение с помощью CSS? Проблемы с выравниванием часто являются источником разочарования для веб-дизайнеров. К счастью, центрировать изображение с помощью CSS очень просто, и мы покажем вам, как это сделать за несколько шагов.
Как и в случае со многими задачами веб-дизайна, это можно сделать несколькими способами! В этой статье мы рассмотрим три основных метода. Давайте начнем!
1. Использовать поле Свойство
Установка свойства margin — один из самых простых способов центрировать изображение по горизонтали с помощью CSS. Поля — это основной компонент блочной модели CSS.
Во-первых, вам нужно преобразовать элемент изображения из встроенного в блочный. HTML-элементы блочного уровня занимают всю ширину своего родительского элемента и могут занимать всю ширину страницы.
Сделав элемент изображения блочным, вы сможете управлять его положением, регулируя его горизонтальные поля. Вам также необходимо установить определенную ширину для изображения, чтобы определить, сколько места изображение занимает на странице.
Какую бы ширину вы ни выбрали, у изображения должны быть равные левые и правые поля. Вы можете легко добиться этого, задав свойству margin значение auto :
.img.center {
дисплей: блок;
поле слева: авто;
поле справа: авто;
ширина: 800 пикселей;
}
2. Используйте макет Flexbox
Этот метод требует помещения изображения в блочный элемент, обычно это div :
дел>После того, как вы это сделаете, вы можете добавить некоторые свойства, чтобы управлять его внешним видом. Вы будете использовать два свойства CSS.
Первым является свойство display со значением flex . Вы также можете использовать flex для выравнивания элементов в HTML. Второе свойство, которое вы добавите в свой div, это
justify-content со значением center , например так: div.center {
display: flex;
выравнивание содержимого: по центру;
}3. Используйте устаревший центральный элемент
Лучшие веб-практики рекомендуют вам использовать CSS для стилей и HTML для семантики, поэтому вам не следует использовать этот метод HTML. Тег center , центрирующий свое содержимое по горизонтали, устарел в HTML5.
Но если вам нужно, вот как центрировать изображение, используя только HTML. Просто оберните тег img в центральный тег, например:
.
Вот как выравнивать изображения в HTML
Мы показали вам три разных простых в использовании метода центрирования изображений в HTML-документе. Попробуйте их все и выберите тот, который лучше всего подходит для вас. Избегайте третьего метода, если у вас нет абсолютно никакого выбора!
Следует помнить, что существует еще несколько способов центрирования изображений с помощью HTML и CSS. Одним из распространенных методов, который работает как для текста, так и для встроенных изображений, является свойство text-align .
350+ Css картинки | Скачать бесплатные картинки на Unsplash
350+ Css картинки | Download Free Images on Unsplash
- A framed photoPhotos 152
- A stack of photosCollections 3. 3k
- A group of peopleUsers 26
computer
screen
electronic
programming
monitor
laptop
berlin
Германия
Hd обои экрана
интерфейс
блендер
Hd 3d wallpapers
śmiary
poland
coding
codes
electronics
book cover
Cover photos & images
front cover
sigmund
boulevard charest est
québec
desk
HD обои для рабочего стола
деревянные
HD обои для компьютера
work
hrvatska
rivière-du-loup
qc
canada
Hd обои для ноутбука
Hd художественные обои
tech
–––– –––– –––– – –––– –––– –– – –– –––– – – –– ––– –– –––– – –.
Book images & photos
Hd phone wallpapers
Hd iphone wallpapers
code
web
Hd design wallpapers
tx
Texture backgrounds
tyler
webtips
frontend
web-development
цифровой
Технология
Анимация
Компьютерный класс
HD Серые обои
HTML
Йоханнесбург
Южная Африка
Symetry
Machine Learning
Coffee Image
Связанные коллекции
CSS
98 фото · Куратор Lee VickersCSS
32 фото · Куратор Preszys RowinskaCSS
19 photos · Curated by Andrea Pinkfooddrop
netherlands
groningen
berlin
germany
Hd screen wallpapers
śmiary
poland
coding
webtips
frontend
web -девелопмент
sigmund
boulevard charest est
québec
йоханнесбург
южная африка
symetry
rivière 9-du-loupe-du-du0003
qc
canada
Hd laptop wallpapers
Hd art wallpapers
tech
Book images & photos
Hd phone wallpapers
Hd iphone wallpapers
tx
Texture backgrounds
tyler
book cover
Фото и изображения на обложке
Передняя обложка
Компьютерный класс
Серые обои Hd
HTML
Компьютерные обои Hd
Работа
HRVATSKA
HD Starbucks Обои
OUPOUM
Amsterdam
FoodDrop
Netherlands
Groningen
––––––– – – –– –––– – – –– ––– –– –––– – –.
Оставить комментарий