Как мне это сделать с помощью Css?

#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

Спасибо.