JS: От модального окна дёргается страница

Есть у меня код, что выводит модальное окно, чтобы подтвердить или отклонить действие:
document.addEventListener('click', function(unit) {
	var detail = unit.target;

	if (param == 'destruction') {
		if (confirm(confirmProcessDeletion)) { // Модульное окно
			// Код
		};
	};

	// Другие задачи
});

Как оказалось, после нажатия, на любою кнопку, в появившемся окошке, дёргается страница, стремительно прокручивается до самого верха.

Чтобы избавиться от дёргания страницы, внутрь условия param == 'destruction', я добавил: unit.preventDefault();:
document.addEventListener('click', function(unit) {
	var detail = unit.target;

	if (param == 'destruction') {
		if (confirm(confirmProcessDeletion)) { // Модульное окно
			// Код
		};

		unit.preventDefault();
	};

	// Другие задачи
});

После чего дёргание исчезло....

PHP: Цикл в две колонки | В два столбика

Работая над одним приложением, потребовалось перечислить элементы массива в две колонки (Столбика):



Для решения этой задачи, у меня было два варианта. Первый:
		<?php foreach ($characteristics as $characteristic): ?>
		<div class="feature">
			<?php echo $this->lang()->phrase($characteristic['name']); ?>: <strong><?php echo $characteristic['info']; ?></strong>
		</div>
		<?php endforeach; ?>

И CSS к шаблону:
.feature {
	display: inline-block;
	width: 48%;
}

И второй:
		<?php foreach ($characteristics as $key => $characteristic): ?>
		<?php if ($key % 2): ?>
		<div style="float: right;">
		<?php else: ?>
		<div style="float: left;">
		<?php endif; ?>
			<?php echo $this->lang()->phrase($characteristic['name']); ?>: <strong><?php echo $characteristic['info']; ?></strong>
		</div>
		<?php endforeach; ?>

Я выбрал первый вариант. Он мне показался лучшем, чем второй....

PHP: Дробное число без округления

PHP
В PHP есть функции: round | ceil | floor, которые округляют дробные числа, в большую или меньшую сторону, в зависимости от функции и самого числа. Удобно, да не всегда...

Бывает появляется необходимость работать с дробями, но не округляя их, а оставляя так, как есть. Нашёл такое решение:
$n = bcdiv('1762.789', 1, 2); // 1762.78

Кстати: Блог: Call to undefined function bcdiv().

Ещё вариант:
$n = floor(12.399 * 100) / 100; // 12.39
...

Call to undefined function bcdiv()

Для одной задачи, потребовалась функция: bcdiv, но, при её использовании, получил ошибку: Uncaught Error: Call to undefined function bcdiv().

В интернете найдено решение, выполнить команду:
sudo apt-get install php8.3-bcmath

Следует указать свою версию PHP....

Как избавиться от наследования "opacity"

CSS
Известно, что CSS свойство opacity наследуется элементами, что находятся внутри элемента с данным свойством. Для потомственных элементов свойство поменять не выйдет, прописав их в ручную. Однако, если прозрачность необходима для фона, можно поменять:
.class {
	background: #FFFFFF;
	opacity: 0.6;
}

На:
.class {
	background: rgba(255, 255, 255, 0.5);
}

И прозрачность будет только у родителя....