Как скрыть изогнутый хвост пузырькового чата при использовании градиентного фона только с помощью CSS - PullRequest
0 голосов
/ 15 мая 2018

How I hide the white space of this image using css ?

Как скрыть изогнутый хвост пузырькового окна чата при использовании другого цвета фона с помощью css?

body {
  background: #1e5799; 
background: -moz-linear-gradient(-45deg, #1e5799 0%, #2989d8 50%, #2989d8 50%, #7db9e8 100%); 
background: -webkit-linear-gradient(-45deg, #1e5799 0%,#2989d8 50%,#2989d8 50%,#7db9e8 100%); 
background: linear-gradient(135deg, #1e5799 0%,#2989d8 50%,#2989d8 50%,#7db9e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=1 ); 
}

.speech-bubble {
  position: relative;
  background: #ddd;
  border-radius: .4em .4em .4em 0;
  width: 100px;
  padding: 30px 15px;
  margin:auto;
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 200%;
  text-shadow: 0 -0.05em 0.1em rgba(0,0,0,.3);
}

.speech-bubble:before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -30px;
  right: 100%;
  height: 30px;
  border-right: 25px solid #ddd;
  *background: #00aabb;
  -webkit-border-bottom-right-radius: 80px 50px;
  -moz-border-radius-bottomright: 80px 50px;
  border-bottom-right-radius: 80px 50px;
  -webkit-transform: translate(0, -2px);
  -moz-transform: translate(0, -2px);
  -ms-transform: translate(0, -2px);
  -o-transform: translate(0, -2px);
  transform: rotate(-181deg) translate(-35%, 97%);
}

/* creates part of the curved pointy bit */
.speech-bubble:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -30px;
  right: 100%;
  width: 21px;
  height: 30px;
  background: #fff;
  -webkit-border-bottom-right-radius: 40px 50px;
  -moz-border-radius-bottomright: 40px 50px;
  border-bottom-right-radius: 40px 50px;
  -webkit-transform: translate(-30px, -2px);
  -moz-transform: translate(-30px, -2px);
  -ms-transform: translate(-30px, -2px);
  -o-transform: translate(-30px, -2px);
  transform: rotate(0deg) translate(0%, -97%);
}
<div class="speech-bubble"></div>

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Просто измените его background цвет, чтобы он соответствовал одному из body элемента :

:root {
  --bgc: #ece8e8; /* defined background color */
}

body {
  background: var(--bgc); /* used here */
}

.speech-bubble {
  position: relative;
  background: #ddd;
  border-radius: .4em;
  width: 100px;
  padding: 30px 15px;
  margin: auto;
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 200%;
  text-shadow: 0 -0.05em 0.1em rgba(0,0,0,.3);
}

.speech-bubble:before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -30px;
  right: 100%;
  height: 30px;
  border-right: 25px solid #ddd;
  *background: #00aabb;
  -webkit-border-bottom-right-radius: 80px 50px;
  -moz-border-radius-bottomright: 80px 50px;
  border-bottom-right-radius: 80px 50px;
  -webkit-transform: translate(0, -2px);
  -moz-transform: translate(0, -2px);
  -ms-transform: translate(0, -2px);
  -o-transform: translate(0, -2px);
  transform: rotate(-181deg) translate(-35%, 97%);
}

/* creates part of the curved pointy bit */
.speech-bubble:after {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -30px;
  right: 100%;
  width: 21px;
  height: 30px;
  background: var(--bgc); /* and here */
  -webkit-border-bottom-right-radius: 40px 50px;
  -moz-border-radius-bottomright: 40px 50px;
  border-bottom-right-radius: 40px 50px;
  -webkit-transform: translate(-30px, -2px);
  -moz-transform: translate(-30px, -2px);
  -ms-transform: translate(-30px, -2px);
  -o-transform: translate(-30px, -2px);
  transform: rotate(0deg) translate(0%, -97%);
}
<div class="speech-bubble"></div>

Желательно сделать с помощью CSS-переменных , чтобы сделать его динамическим , чтобы вам не приходилось проверять, совпадают ли два или меняются дважды, в то время как вы можете сделать это один раз на :root элемент и обязательно.

0 голосов
/ 15 мая 2018

Честно говоря, лучший способ - это использовать фотомагазин и изменить изображение.Вы можете найти хак css, включающий в себя div с позицией и z-index, сидящий поверх белого угла ... но это будет уродливое решение простой проблемы.Просто найдите лучшее изображение или измените его самостоятельно в фотошопе или тому подобном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...