#html #css
#HTML #css
Вопрос:
Я не могу поместить строку внутри поля. Когда я попробовал ‘border-left’, это было так, потому что я использовал ‘border radius’, Как я могу это сделать?
.box-input {
width: 100px;
height: 100px;
border-radius: 20px;
border-left: 9px solid black;
box-shadow: -6px -6px 10px rgba(255, 255, 255, 0.8), 6px 6px 10px rgba(0, 0, 0, 0.2);
}
<div class="box-input"></div>
Комментарии:
1. Это не дает нам никакой информации. Пожалуйста, укажите ваши попытки и ваш текущий код. HTML и CSS
2. Я немедленно даю
3. .box-input{ ширина: 100 пикселей; высота: 100 пикселей; радиус границы: 20 пикселей; граница слева: 9 пикселей сплошного черного цвета; box-shadow: -6 пикселей -6 пикселей 10 пикселей rgba(255, 255, 255, 0.8), 6 пикселей 6 пикселей 10 пикселей rgba(0, 0, 0, 0.2); }
4. используйте фоновый градиент, он не будет изгибаться по краю.
Ответ №1:
из моего комментария
используйте background-gradient, он не будет изгибаться по краю
.box-input {
width: 100px;
height: 100px;
border-radius: 20px;
background:linear-gradient(to right, #a3befa 9px, transparent 9px);
box-shadow: -6px -6px 10px rgba(255, 255, 255, 0.8), 6px 6px 10px rgba(0, 0, 0, 0.2);
}
<div class="box-input"></div>
Ответ №2:
Это то, что вы хотите?
* {margin:0; padding:0;}
.inner {
border-left: 10px solid blue;
background:yellow;
height:200px;
width:500px;
border-radius:25px;
}
.outer {
border-radius:25px;
}
<div class="outer">
<div class="inner">
Some text ...
</div>
</div>
Комментарии:
1. Этот макет уже есть в описании вопроса.
Ответ №3:
Вы также можете использовать pseudo
класс css. В моем решении я использовал ::before
.wrapper {
display: inline-block;
padding: 10px 10px 10px 30px;
position: relative;
border-radius: 25px;
overflow: hidden;
max-width: 450px;
font-style: italic;
box-shadow: 0 0 20px -12px;
}
.wrapper::before {
content: '';
width: 10px;
background: #8ac1e8;
position: absolute;
left: 0;
top: 0;
bottom: 0;
}
p.message {
margin-top: 0;
font-size: 25px;
}
.bottom_info_wrap {
display: flex;
justify-content: space-between;
padding-right: 10px;
}
span.user_name {
color: #444444;
}
.bottom_info {
color: #6d6d6d;
}
span.time {
margin-left: 10px;
}
<main>
<div class="wrapper">
<p class="message"> Make a drink and we'll tell you where you'll meet your soulmate
</p>
<div class="bottom_info_wrap">
<span class="user_name">Carl Johnson</span>
<div class="bottom_info">
<span class="date">September 26, 2020 </span>
<span class="time">1 min</span>
</div>
</div>
</div>
</main>
Ответ №4:
когда вы создаете border-radius: 20px, это означает, что ваша ширина левой границы должна быть 20px, но ваша ширина левой границы меньше, чем border-radius.
смотрите пример
.box-input {
width: 200px;
height: 100px;
border-radius: 20px;
margin: 3rem auto;
border-left: 20px solid #A3BEFA;
box-shadow: -6px -6px 10px rgba(255, 255, 255, 0.8), 6px 6px 10px rgba(0, 0, 0, 0.2);
}
<div class="box-input"></div>
если вы хотите использовать свойство css border-left, то вы должны использовать один и тот же пиксель в border-radius и border-left-width, в противном случае вы можете сделать это с помощью css linear-gradient background или псевдоэлемента after, before.
для получения более подробной информации о border css здесь вы можете следовать руководству MDN border css
Спасибо.