#html #css
Вопрос:
В настоящее время я создаю этот веб-сайт для компании в качестве студента-стажера, и мне было интересно, как я мог бы исправить эту проблему, когда мои контейнеры для продуктов и рекламные контейнеры при переворачивании или на телефоне меньшего размера не исправляются, а текст и / или кнопки находятся вне контейнера. Как я могу это исправить? Я понимаю запросы мультимедиа, но у меня нет полного представления о том, как я могу исправить это с помощью css.
HTML (Продукты)
<?php
require_once 'includes/dbh-inc.php';
$current_file_name = basename($_SERVER['PHP_SELF']);
$result2 = mysqli_query($conn,"SELECT `serviceID` FROM `addService` WHERE servicePageName = '".$current_file_name."'");
$row2 = mysqli_fetch_array($result2);
$ID2 = $row2['serviceID'];
$sql = "SELECT * FROM addProduct WHERE serviceID = '$ID2'";
$result = $conn-> query($sql);
if ($result-> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
echo '<div class="product-container" style="background-image: url(data:image/jpg;base64,'.base64_encode($row['imagetmp']).')">';
echo '<div class="service-title">';
echo '<h1>'. $row["product"] .'</h1>';
echo '</div>';
echo '</div>';
}
echo '</div>';
echo '</div>';
}
?>
CSS (Продукты)
/* Services Section */
.services-section {
background-attachment: fixed;
background-size: cover;
background-position: center;
justify-content: center;
}
.services-section a {
}
.services-section h1 {
color: var(--clr-text);
font-size: 3.5rem;
text-decoration: underline;
}
.services-section h2 {
color: var(--clr-text);
font-size: 2.5rem;
text-decoration: underline;
}
.title-section {
display: flex;
justify-content: center;
align-items: center;
padding: 2em;
}
.services {
display: grid;
gap: 10px;
margin-top: 1em;
grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
justify-items: center;
}
.service-title {
display: flex;
justify-content: center;
background-color: var(--clr-background);
border: var(--clr-bg-border);
align-items: center;
flex-direction: column;
height: fixed;
width: fixed;
}
.service-container {
border: 5px solid var(--clr-primary);
background-size: cover;
background-position: center;
background-color: black;
height: 20vh;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
width: 30vh;
margin-bottom: 5vh;
}
.service-container i {
color: white;
padding: 0.5em;
float: right;
}
.service-container h1 {
color: var(--clr-text);
padding: 0.5em;
font-size: 1.5rem;
}
.service-container h2 {
color: var(--clr-text);
padding: 0.5em;
font-size: 1.5rem;
}
.service-container h1:hover {
color: var(--clr-secondary-text);
transition: ease 650ms;
}
.service-button {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
padding: 2em;
}
.service-button a {
background-color: var(--clr-primary);
color: var(--clr-text);
text-decoration: none;
font-size: 2em;
padding: 0.5em;
}
.service-button a:hover {
color: black;
background-color: yellow;
text-shadow: -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white, 1px 1px 0 white;
transition: ease 650ms;
}
.service-about {
display: flex;
justify-content: center;
background-color: var(--clr-background);
border: var(--clr-bg-border);
padding: 1em;
margin: 1em;
height: fixed;
width: fixed;
}
.service-about p {
color: var(--clr-text);
text-align: center;
font-size: 1.5rem;
}
.service-about span {
color: var(--clr-secondary-text);
text-align: center;
font-size: 1.5rem;
}
.service-about a {
color: var(--clr-secondary-text);
text-align: center;
font-size: 1.5rem;
}
.featured-services {
display: grid;
gap: 10px;
grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
justify-items: center;
}
HTML (Promotion)
<div class="promotions">
<?php
require_once 'includes/dbh-inc.php';
$sql = "SELECT clientName, startDate, endDate FROM Clients";
$result = $conn-> query($sql);
$currentDate = date('Y-m-d');
$currentDate = date('Y-m-d', strtotime($currentDate));
$promotion;
if ($result-> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
if (($currentDate >= $row["startDate"]) amp;amp; ($currentDate <= $row["endDate"])){
echo '<div class="promotion-container">';
echo '<div class="promotion-text">';
echo '<h1> '. $row["clientName"] .' is currently having a promotion.</h1>';
echo '</div>';
echo '<div class="promotion-button">';
echo '<button>Click Here</button>';
echo '</div>';
echo '</div>';
}
}
}
?>
</div>
CSS (Продвижение)
/* PROMOTION PAGE */
.promotions {
min-height: 100vh;
display: grid;
color: var(--clr-text);
grid-template-columns: repeat( auto-fit, minmax(250px, 1fr) );
text-align: center;
justify-items: center;
margin-top: 1em;
}
.promotion-container {
border: 5px solid var(--clr-primary);
height: 20vh;
width: 30vh;
background-color: black;
}
.promotion-text h1 {
font-size: 1.15rem;
padding: 1em;
}
.promotion-button {
display: flex;
justify-content: center;
padding: 1em;
}
.promotion-button button {
color: var(--clr-text);
background-color: var(--clr-primary);
font-size: 1.15rem;
}
Изображение моей текущей проблемы
Комментарии:
1. Для такого типа вопросов вы должны публиковать только визуализированные HTML и CSS (в функционирующем фрагменте). Решения будут заключаться в тех, которые вы затем сможете перевести в свой исходный код.
Ответ №1:
Есть как минимум два варианта:
- Вы можете настроить свои стили, используя преимущества flexbox или сетки.
- Вы можете написать несколько стилей для ландшафтной ориентации:
@media (ориентация: ландшафт) { // ваши конкретные стили для ландшафта }
https://developer.mozilla.org/en-US/docs/Web/CSS/@media/orientation