@ligisayan

Как убрать пробелы между inline-block в цикле?

Всех приветствую! Есть у меня магазин, в котором табы выводятся через цикл. Загвоздка в том, что между li за счет свойства inline-block образуются пробелы, которые мне не нужны. В обычном html спасли бы комментарии , а вот как быть с циклом - мне пока не очень ясно..
<div class="woocommerce-tabs">
		<ul class="tabs">
			<?php foreach ( $tabs as $key => $tab ) : ?>
				<li class="<?php echo $key ?>_tab">
					<a href="#tab-<?php echo $key ?>"><?php echo apply_filters( 'woocommerce_product_' . $key . '_tab_title', $tab['title'], $key ) ?></a>
				</li><!---->
			<?php endforeach; ?>
		</ul>
		<?php foreach ( $tabs as $key => $tab ) : ?>

			<div class="panel entry-content" id="tab-<?php echo $key ?>">
				<?php call_user_func( $tab['callback'], $key, $tab ) ?>
			</div>

		<?php endforeach; ?>
	</div>
  • Вопрос задан
  • 340 просмотров
Решения вопроса 3
@chirskiy_mixail
Очень давно занимаюсь версткой, имею огромный опыт
А почему вы CSS проблемы решаете на php?
пробелы в inline-block, давно известная проблема и путей решения много, ну самый известный способ, задаем родителю word-spacing: -5px; а всем детям word-spacing: 0; И прощайте ваши пробелы

P.S. прежде чем городить костыли, разберитесь в проблеме
Ответ написан
Punkie
@Punkie
Немножечко вордпрессирую
ul {
   font-size: 0;
   line-height: 0;
}
li {
   font-size: 18px;
   line-height: normal;
   display: inline-block;
}


И не надо никаких word-spacing или комментариев.
Ответ написан
Akdmeh
@Akdmeh
PHP, Yii2, Music
<?php foreach ( $tabs as $key => $tab ) : ?><li class="<?php echo $key ?>_tab">
          <a href="#tab-<?php echo $key ?>"><?php echo apply_filters( 'woocommerce_product_' . $key . '_tab_title', $tab['title'], $key ) ?></a>
        </li><?php endforeach; ?>


Костыли, но по-другому почти что никак. Можно для читаемости после <?php поставить перенос строки, если заботитесь о читаемости кода (что весьма похвально)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы