Я создаю сайт электронной коммерции. Все продукты отображаются в отдельных div. У меня есть одна проблема: в каждом продукте Div я хочу отобразить часть описания продукта. Когда описание продукта длиннее, чем div, оно просто отображает описание по краям div. Я попытался поставить проблему на картинке:
Теперь, как вы можете видеть на картинке, я хотел бы решить три проблемы:
- Я хочу ограничить текст, чтобы он соответствовал div.
- Я хочу убедиться, что это не делается где-то посреди слова
- Я хочу добавить ссылку "читать дальше" в конце предварительного просмотра описания.
Теперь я видел это много на других сайтах электронной коммерции, но после поиска часов я не нашел четкого описания того, как это сделать.
Это код, который генерирует все карты продукта:
for($i = 0; $i<$numberOfItems; $i++) {
//echo $output_array[$i]["itemName"];
echo '<a href="/itemDetails.php?itemCode=';echo $output_array[$i]["itemCode"]; echo '&itemName='; echo $output_array[$i]["itemName"];echo'">
<div id="item" style="background-color: transparent; width:243px;height:auto;float:left; margin-left:20px; margin-top:20px; max-width:800px; display:inline-block;">
<div id="itemPicture" class="itemImage"; >
<div id="price" class="pricetag">
<div id="priceText" class="priceText";>';
echo "€".$output_array[$i]["itemPrice"];
echo '</div></div>';
$imageSource = "http://www.imagine-app.nl/ProductImages/".$output_array[$i]["firstImage"].".jpg";
echo '<img src="';echo $imageSource; echo'" style="max-width:100%; border:0px;">
</div>
<div id="itemName" class="itemName"">';
echo $output_array[$i]["itemName"];
echo '</div>'; ?>
<div id="itemDescription" class="itemDescription" style="height:">
<? echo $output_array[$i]["itemDescription"];
echo '</div>';
?>
<?php
echo '<div id="itemComment" class="itemComment"">
Lees verder!
</div>
</div></a>';
}
Кто-нибудь знает, как решить эти проблемы? Любая помощь приветствуется. Спасибо заранее!
UPDATE
Ответы привели меня к "Line Clamping", которые, похоже, являются кодами css или javascript, которые выполняют нужную мне задачу. Реализация кода javascript, предоставленного musically_ut и css из Unamata Sanatarai, приводит меня к этому:
Я могу сказать, что прогресс был достигнут, поскольку текст не просто пересекает границы моего div. У меня осталось только две проблемы:
- Текст с зажатым текстом по какой-то причине работает под нижним колонтитулом моей карточной карты
- Иногда это прерывает слово. (это голландское слово, которое должно быть там "beschikt".)
любые предложения приветствуются
PS: второй снимок экрана был сделан с реализацией css, поскольку реализация javascript работала только над одним продуктом (возможно, потому, что карты продуктов - это divs, генерируемые петлей php для цикла)