• Страница 1 из 1
  • 1
Модератор форума: JonMagon  
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Настройка отображения материалов не списком, а плиткой.
Настройка отображения материалов не списком, а плиткой.
Sten1536
Сообщений: 46
Репутация: 0

Сообщение # 1 | 17:26:21
Решения данного вопроса не нашел в сети, поэтому обращаюсь к гуру! В модуле каталог файлов есть Страница со списком материала раздела или категории. Вид материала настраивается в разделе Вид материалов. По умолчанию он представлен в виде таблицы. На страницах со списком материалов они выводятся списком. Меня это не очень устраивает, так как теряется много пустого пространства на странице и хотелось бы чтоб отображение было плиткой. Как это сделать - я знаю - прописать чтоб элементы были на одной линии, указать их ширину и т.д. Но дело в том, что данные таблицы вида материалов находятся в блоке div в таком виде. 
Код
<div id="entryID...">
<table...
</table></div>


Мы знаем, чтоб тег div начинается с новой строки, а чтоб было несколько таких блоков на одной строке, нужно прописать 
Код
display: inline-block; width: 45%


Но проблема в том, что у владельца сайта нет доступа к данным
https://u.to/_LRwFQ
Прикрепления: 6162266.jpg(143.2 Kb)
Сообщение отредактировал Sten1536 - Вторник, 21 Май 2019, 17:27:05
LuСiFеr
Сообщений: 249
Репутация: 289
Уровень замечаний:

Сообщение # 2 | 19:06:55
в модулях каталог сайтов и доска объявлений я подобное реализовывал с помощью div#allEntries > div:nth-child

Canon_L
Сообщений: 82
Репутация: 5

Сообщение # 3 | 20:55:41
Sten1536, таблицы в дивах - это извращение, перепишите на div. Вам нужно таблицу заменить скажем на

Код
<div class="entry">
<div class="entry__inner">
...
</div>
</div>


Классу .catalog .entry присвойте ширину, например 50% или 33%, а в классе .catalog .entry__inner пишите границы, внутренние отступы и т.д. Всю страницу после body заверните в

Код
<div class="catalog">
...
</div>


Не забудьте закрыть перед закрывающимся тегом body. А потом в таблице стилей допишите:

Код
.catalog #allEntries > div {
    display: inline;
}
Сообщение отредактировал Canon_L - Среда, 22 Май 2019, 01:58:27
Sten1536
Сообщений: 46
Репутация: 0

Сообщение # 4 | 01:58:09
Canon_L, спасибо большое за помощь! Все получилось.
Admin_cscfg
Сообщений: 15
Репутация: 2

Сообщение # 5 | 23:29:47
Canon_L, могли бы помочь мне решить похожую проблему? 

Подскажите как реализовать разный вид материалов, тобишь: 
1 - квадратный 
2 - круглый 
3 - прямоугольный 

Чтобы при добавлении материала последовательность смещалась на одну единицу 

то есть: 
0 (новый материал) - квадратный 
1 - круглый 
2 - прямоугольный 

Читал про nth-child, но что-то не могу разобраться

Canon_L
Сообщений: 82
Репутация: 5

Сообщение # 6 | 01:31:45
Напишите общие стили для всех материалов (за основу возьмем средний материал). Затем отдельно пишите стили для первой колонки:

Код
.родительский_класс:first-child {
  стили
}


И для последней колонки:

Код
.родительский_класс:last-child {
  стили
}


Или сделать с помощью nth-child, смысл по сути одинаков. Подробнее здесь: https://webref.ru/css/nth-child
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » Настройка отображения материалов не списком, а плиткой.
  • Страница 1 из 1
  • 1
Поиск: