Как изменить расстояние между картинками html

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-mar...

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

Метки нет (Все метки)


Скажите пожалуйста как задать расстояние между фото по горизонтали?
1.HTML

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<div class="image">
    <img src="/f/29663.jpg" width="250" height="350" alt="Картинка" />
    <div class="caption">Все дальнейшее далеко выходит за&nbsp;рамки текущего исследования</div>
</div>
 
<div class="image">
    <img src="/f/29663.jpg" width="250" height="350" alt="Картинка" />
    <div class="caption">Все дальнейшее далеко выходит за&nbsp;рамки текущего исследования</div>
</div>
 
<div class="image">
    <img src="/f/29663.jpg" width="250" height="350" alt="Картинка" />
    <div class="caption">Все дальнейшее далеко выходит за&nbsp;рамки текущего исследования</div>
</div>

2. CSS

CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.image {
    display: inline-block; // (1)
    vertical-align: top; // (1)
    position: relative; // (2)
    img {
        display: block; // (3)
    }
    .caption {
        box-sizing: border-box; // (4)
        width: 100%; // (4)
        padding: 25px; // (4)
        position: absolute; // (5)
        z-index: 2; // (5)
        left: 0; // (5)
        bottom: 0; // (5)
        background-color: rgba(0, 0, 0, .5); // (6)
        text-align: center; // (6)
        color: #fff; // (6)
        font: 11px/16px Tahoma, sans-serif; // (6)
    }
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



mrtoxas

Модератор

Эксперт JSЭксперт HTML/CSS

3824 / 2674 / 1521

Регистрация: 12.07.2015

Сообщений: 6,674

Записей в блоге: 4

30.06.2016, 09:13

2

CSS
1
2
3
.image:not(:first-child){
  margin-left:30px;
}



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

Анастасия Бурлуцкая's user avatar

Пример

*{
  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

soledar10's user avatar

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 Fedorov's user avatar

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(){…});

Но вот ответ на вопрос почему, все же хотелось бы знать.

Понравилась статья? Поделить с друзьями:
  • Как изменить расстояние между иконками на рабочем столе windows 10
  • Как изменить расстояние между зрачками
  • Как изменить расстояние между значками на рабочем столе на виндовс 7
  • Как изменить расстояние между значками на рабочем столе на windows 7
  • Как изменить расстояние между значками на панели задач