I’m trying to create a div with images inside it, and there is space between them. For example, I want the space between them is 2px, I can use margin:1px;
so it will become 2px when one’s left-margin meet other’s right-margin, same for top and bottom. But there is also space between image and div’s border, so the div will become like this:
+------------------------------------------+
| |
| +---------------+ +---------------+ |
| | | | | |
| | | | | |
| | | | | |
| | IMG1 | | IMG2 | |
| | | | | |
| | | | | |
| | | | | |
| +---------------+ +---------------+ |
| DIV |
| |
| +---------------+ +---------------+ |
| | | | | |
| | | | | |
| | IMG3 | | IMG4 | |
| | | | | |
| | | | | |
| | | | | |
| +---------------+ +---------------+ |
| |
+------------------------------------------+
When what I’m actually trying to do, is this:
+---------------+---+---------------+
| | | |
| | | |
| | | |
| IMG1 | | IMG2 |
| | | |
| | | |
| | | |
+---------------+ +---------------+
| DIV |
| |
+---------------+ +---------------+
| | | |
| | | |
| IMG3 | | IMG4 |
| | | |
| | | |
| | | |
+---------------+---+---------------+
How to do this, without set style for every single image?
I’m trying to create a div with images inside it, and there is space between them. For example, I want the space between them is 2px, I can use margin:1px;
so it will become 2px when one’s left-margin meet other’s right-margin, same for top and bottom. But there is also space between image and div’s border, so the div will become like this:
+------------------------------------------+
| |
| +---------------+ +---------------+ |
| | | | | |
| | | | | |
| | | | | |
| | IMG1 | | IMG2 | |
| | | | | |
| | | | | |
| | | | | |
| +---------------+ +---------------+ |
| DIV |
| |
| +---------------+ +---------------+ |
| | | | | |
| | | | | |
| | IMG3 | | IMG4 | |
| | | | | |
| | | | | |
| | | | | |
| +---------------+ +---------------+ |
| |
+------------------------------------------+
When what I’m actually trying to do, is this:
+---------------+---+---------------+
| | | |
| | | |
| | | |
| IMG1 | | IMG2 |
| | | |
| | | |
| | | |
+---------------+ +---------------+
| DIV |
| |
+---------------+ +---------------+
| | | |
| | | |
| IMG3 | | IMG4 |
| | | |
| | | |
| | | |
+---------------+---+---------------+
How to do this, without set style for every single image?
dima1505 0 / 0 / 0 Регистрация: 28.06.2016 Сообщений: 15 |
||||||||
1 |
||||||||
Как задать расстояние между изображениями30.06.2016, 08:51. Показов 10607. Ответов 1 Метки нет (Все метки)
Скажите пожалуйста как задать расстояние между фото по горизонтали?
2. CSS
__________________
0 |
mrtoxas Модератор 3824 / 2674 / 1521 Регистрация: 12.07.2015 Сообщений: 6,674 Записей в блоге: 4 |
||||
30.06.2016, 09:13 |
2 |
|||
1 |
body,
h1,
h2,
h3,
h4,
p,
a {
margin: 0;
font-size: 100%;
font-weight: normal;
}
body {
font-family: 'Roboto', serif;
overflow-x: hidden;
}
a {
text-decoration: none;
}
.galery img {
display: inline;
}
.but-g {
margin: auto;
position: relative;
top: 60px;
width: 150px;
height: 30px;
font-family: 'Roboto Regular', sans-serif;
font-size: 16px;
border: 1px solid rgba(1, 1, 1, 0.89);
border-radius: 20px;
padding: 15px 64px;
background-color: rgba(1, 1, 1, 0.89);
}
.but-g a {
color: #fff;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="style.css" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="https://fonts.googleapis.com/css?family=Roboto" rel="stylesheet">
<link href="http://allfont.ru/allfont.css?fonts=arial-narrow-bold" rel="stylesheet" type="text/css" />
<title>Свила</title>
</head>
<body>
<main>
<div class="galery">
<img src="https://i8.wampi.ru/2020/02/06/BEZ-ZAGOLOVKA4.png" alt="Без заголовка4" border="0">
<img src="https://i0.wampi.ru/2020/02/06/g-2.png" alt="g 2" border="0">
<img src="https://i9.wampi.ru/2020/02/06/g-3.png" alt="g 3" border="0">
<img src="https://i9.wampi.ru/2020/02/06/SLOI-12.png" alt="Слой 12" border="0">
<img src="https://i0.wampi.ru/2020/02/06/g-5.png" alt="g 5" border="0">
<img src="https://i0.wampi.ru/2020/02/06/g-6.png" alt="g 6" border="0">
<div class="but-g"><a href="">Посмотреть еще</a></div>
</div>
</main>
</body>
</html>
, подскажите, пожалуйста, как убрать отступы, чтобы картинки смотрелись как на макете. Пусть зазоры будут справа и слева, но между картинками не было совсем.
задан 6 фев 2020 в 6:22
Пример
*{
padding: 0;
margin: 0;
box-sizing: border-box;
}
.gallery{
display: flex;
flex-wrap: wrap;
}
.gallery__col{
width: 33.333%;
max-width: 33.333%;
}
.gallery__pict{
padding-bottom: 50%;
height: 0;
overflow: hidden;
position: relative;
}
.gallery__img{
position: absolute; top: 0; left: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
<div class="gallery">
<div class="gallery__col">
<div class="gallery__pict">
<img src="https://placeimg.com/640/480/any" alt="" class="gallery__img">
</div>
</div>
<div class="gallery__col">
<div class="gallery__pict">
<img src="https://placeimg.com/640/480/nature" alt="" class="gallery__img">
</div>
</div>
<div class="gallery__col">
<div class="gallery__pict">
<img src="https://placeimg.com/640/480/any" alt="" class="gallery__img">
</div>
</div>
<div class="gallery__col">
<div class="gallery__pict">
<img src="https://placeimg.com/640/480/nature" alt="" class="gallery__img">
</div>
</div>
<div class="gallery__col">
<div class="gallery__pict">
<img src="https://placeimg.com/640/480/any" alt="" class="gallery__img">
</div>
</div>
<div class="gallery__col">
<div class="gallery__pict">
<img src="https://placeimg.com/640/480/nature" alt="" class="gallery__img">
</div>
</div>
</div>
ответ дан 6 фев 2020 в 7:29
soledar10soledar10
27.3k5 золотых знаков31 серебряный знак63 бронзовых знака
Просто используйте flexbox.
body,
h1,
h2,
h3,
h4,
p,
a {
margin: 0;
font-size: 100%;
font-weight: normal;
}
body {
font-family: 'Roboto', serif;
overflow-x: hidden;
}
a {
text-decoration: none;
}
.galery {
padding-left: 15%;
display: flex;
flex-wrap: wrap;
}
.galery img {
flex-basis: 33.33333333%;
}
.but-g {
margin: auto;
position: relative;
top: 60px;
width: 150px;
height: 30px;
font-family: 'Roboto Regular', sans-serif;
font-size: 16px;
border: 1px solid rgba(1, 1, 1, 0.89);
border-radius: 20px;
padding: 15px 64px;
background-color: rgba(1, 1, 1, 0.89);
}
.but-g a {
color: #fff;
}
<main>
<div class="galery">
<img src="https://i8.wampi.ru/2020/02/06/BEZ-ZAGOLOVKA4.png" alt="Без заголовка4" border="0">
<img src="https://i0.wampi.ru/2020/02/06/g-2.png" alt="g 2" border="0">
<img src="https://i9.wampi.ru/2020/02/06/g-3.png" alt="g 3" border="0">
<img src="https://i9.wampi.ru/2020/02/06/SLOI-12.png" alt="Слой 12" border="0">
<img src="https://i0.wampi.ru/2020/02/06/g-5.png" alt="g 5" border="0">
<img src="https://i0.wampi.ru/2020/02/06/g-6.png" alt="g 6" border="0">
<div class="but-g"><a href="">Посмотреть еще</a></div>
</div>
</main>
ответ дан 6 фев 2020 в 7:28
Andrei FedorovAndrei Fedorov
5,7531 золотой знак8 серебряных знаков30 бронзовых знаков
Как разместить несколько картинок рядом по горизонтали?
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
4.0+ | 1.0+ | 4.0+ | 1.0+ | 1.0+ | 1.0+ | 1.0+ |
Задача
Добавить на страницу несколько изображений, чтобы они располагались рядом с друг другом по горизонтали.
Решение
Изображения являются строчными элементами, поэтому написание в коде подряд несколько тегов <img> автоматически выстроит картинки по горизонтали. Тем не менее, с помощью стилей этим построением можно управлять более изящно.
Для начала рассмотрим простой пример, когда изображения выстраиваются по горизонтали без стилевого оформления (пример 1).
Пример 1. Картинки по горизонтали
HTML5IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Фотографии</title>
</head>
<body>
<p>
<img src="images/thumb1.jpg" alt="Фотография 1" width="120" height="120">
<img src="images/thumb2.jpg" alt="Фотография 2" width="120" height="120">
<img src="images/thumb3.jpg" alt="Фотография 3" width="120" height="120">
<img src="images/thumb4.jpg" alt="Фотография 4" width="120" height="120">
</p>
</body>
</html>
Результат данного примера показан на рис. 1. Изображения выстраиваются в одну строку по горизонтали, а если некоторые из них не помещаются по ширине в окне, то переносятся на следующую строку.
Рис. 1. Фотографии, расположенные по горизонтали
Обратите внимание на пробел между фотографиями, он появляется за счет переноса тега <img> в коде на новую строку. Чтобы убрать пустой промежуток достаточно написать теги <img> в примере в одну строку.
Для регулирования горизонтальных и вертикальных отступов между фотографиями применяется стилевое свойство margin-right и margin-bottom. В примере 2 кроме отступов к фотографиям также добавлена рамка и цветная область вокруг изображений.
Пример 2. Отступы у фотографий
HTML5CSS 2.1IECrOpSaFx
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Фотографии</title>
<style>
.thumb img {
border: 2px solid #55c5e9; /* Рамка вокруг фотографии */
padding: 15px; /* Расстояние от картинки до рамки */
background: #666; /* Цвет фона */
margin-right: 10px; /* Отступ справа */
margin-bottom: 10px; /* Отступ снизу */
}
</style>
</head>
<body>
<p class="thumb">
<img src="images/thumb1.jpg" alt="Фотография 1" width="120" height="120">
<img src="images/thumb2.jpg" alt="Фотография 2" width="120" height="120">
<img src="images/thumb3.jpg" alt="Фотография 3" width="120" height="120">
<img src="images/thumb4.jpg" alt="Фотография 4" width="120" height="120">
</p>
</body>
</html>
Результат данного примера показан на рис. 2.
Рис. 2. Вид фотографий, оформленных с помощью стилей
By
rus · Posted December 17, 2022
html:
<td>
<span class=»qty-minus» onclick=»qtyMinus(); return false;» data-id=»<?=$id;?>» data-qty=»<?= $item[‘qty’];?>» data-weight=»<?=$item[‘weight’];?>»>
<i class=»bi bi-dash-circle-fill text-success»></i>
</span>
<span class=»qty»><?= $item[‘qty’];?></span>
<span class=»qty-plus» onclick=»qtyPlus(); return false;» data-id=»<?=$id;?>» data-qty=»<?= $item[‘qty’];?>» data-weight=»<?=$item[‘weight’];?>»>
<i class=»bi bi-plus-circle-fill text-success»></i>
</span>
</td>
js:
// Изменение количества товара в заказа — плюс
function qtyPlus() {
$(‘.qty-plus’).on(‘click’, function(){
let str = $(this).data(‘id’);
if(typeof str === ‘string’){
let id_arr = str.split(‘-‘),
id = id_arr[0],
mod = id_arr[1],
qty_update = $(this).data(‘qty’)+1,
weight = $(this).data(‘weight’);
$.ajax({
url: ‘/cart/add’,
data: {id: id, qty_update: qty_update, mod: mod, weight:weight},
type: ‘GET’,
success: function(res){
showCart(res);
},
error: function(){
alert(‘Ошибка! Попробуйте позже’);
}
});
}else if(!Number.isNaN(str)){
let id = $(this).data(‘id’),
mod = null,
qty_update = $(this).data(‘qty’)+1,
weight = $(this).data(‘weight’);
$.ajax({
url: ‘/cart/add’,
data: {id: id, qty_update: qty_update, mod: mod, weight:weight},
type: ‘GET’,
success: function(res){
showCart(res);
},
error: function(){
alert(‘Ошибка! Попробуйте позже’);
}
});
}
});
return true;
}
// Изменение количества товара в заказа — минус
function qtyMinus() {
$(‘.qty-minus’).on(‘click’, function(){
let str = $(this).data(‘id’);
if(typeof str === ‘string’){
let id_arr = str.split(‘-‘),
id = id_arr[0],
mod = id_arr[1],
qty_update = $(this).data(‘qty’)-1,
weight = $(this).data(‘weight’);
$.ajax({
url: ‘/cart/add’,
data: {id: id, qty_update: qty_update, mod: mod, weight:weight},
type: ‘GET’,
success: function(res){
showCart(res);
},
error: function(){
alert(‘Ошибка! Попробуйте позже’);
}
});
}else if(!Number.isNaN(str)){
let id = $(this).data(‘id’),
mod = null,
qty_update = $(this).data(‘qty’)-1,
weight = $(this).data(‘weight’);
$.ajax({
url: ‘/cart/add’,
data: {id: id, qty_update: qty_update, mod: mod, weight:weight},
type: ‘GET’,
success: function(res){
showCart(res);
},
error: function(){
alert(‘Ошибка! Попробуйте позже’);
}
});
}
});
return true;
}
Суть в том, что клик срабатывает только со второго раза… Почему?
Страница: https://shop-site.su/category/men
Нужно положить товар в корзину и либо в модальном окне, либо перейти на страницу оформления заказа (а лучше и там и там покликать) и покликать на плюс и минус кол-ва товара.
Решил проблему:
убрал из html вызов функции onclick=»qtyMinus(); return false;»
а js переделал вот так:
$(‘body’).on(‘click’, ‘.qty-minus’, function(){…});
Но вот ответ на вопрос почему, все же хотелось бы знать.