Gelembung sembang kecerunan boleh tatal
P粉197639753
P粉197639753 2023-09-01 11:52:18
0
2
638
<p>Saya mahukan bekas putih dengan gelembung sembang dengan kecerunan yang berubah apabila menatal dengan kecerunan di bawah, seperti yang ditunjukkan dalam contoh ini: </p> <p>Saya cuba membuat <kod>.bekas</kod> di belakang mana-mana <kod>bubble</kod> supaya latar belakang <kod>.root</kod> </p> <p> <pre class="brush:css;toolbar:false;">.root { warna latar belakang: kecerunan linear (merah, kuning); lebar: 100vw; ketinggian: 100vh; } .bekas { lebar: 100%; ketinggian: 100vh; warna latar belakang: putih } .chatBubble { warna latar belakang: telus; jejari sempadan: 4px; lebar min: 50; padding: 10px; }</pre> <pre class="brush:html;toolbar:false;"><div class="root"> <div class="container"> <chatBubble>Ini ialah gelembung sembang</chatBubble> <chatBubble>Ini adalah satu lagi gelembung sembang</chatBubble> </div> </div></pre> </p>
P粉197639753
P粉197639753

membalas semua(2)
P粉293550575

Ini yang saya ada setakat ini, cuba menutupnya supaya saya boleh mempunyai latar belakang putih untuk mengikuti kecerunan.

html,
body,
.container {
  height: 100%;
}

body {
  margin: 0;
  font-family: system-ui;
}

.container {
  display: flex;
  flex-flow: column nowrap;
  max-width: 60ch;
  margin: auto;
  padding: 1rem;
  background-color: white;
}

.container::before {
  content: '';
  position: fixed;
  inset: 0;
  background: linear-gradient(red, yellow);
}

.bubble {
  z-index: 1;
  min-width: 50px;
  width: fit-content;
  background-color: #eee;
  border-radius: 4px;
  padding: 0.5em;
  margin: 0.2em;
  text-wrap: balance;
}

.bubble.primary {
  color: white;
  background-color: transparent;
  background-blend-mode: multiply;
  align-self: end;
  text-align: end;
}
<div class="container">
  <div class="bubble">show weekend?</div>
  <div class="bubble primary">I'm down!</div>
  <div class="bubble">lets do this its been way to long since we were all together!</div>
  <div class="bubble primary ">Whos down for a pregame</div>
  <div class="bubble">YES! I got the day off! Say when and where?</div>
  <div class="bubble primary">Hows about Old Town at 4? we can get some grub and then head over to the venue</div>
  <div class="bubble">Yeah getting the band back together</div>
  <div class="bubble">show weekend?</div>
  <div class="bubble primary">I'm down!</div>
  <div class="bubble">lets do this its been way to long since we were all together!</div>
  <div class="bubble primary ">Whos down for a pregame</div>
  <div class="bubble">YES! I got the day off! Say when and where?</div>
  <div class="bubble primary">Hows about Old Town at 4? we can get some grub and then head over to the venue</div>
  <div class="bubble">Yeah getting the band back together</div>
  <div class="bubble">show weekend?</div>
  <div class="bubble primary">I'm down!</div>
  <div class="bubble">lets do this its been way to long since we were all together!</div>
  <div class="bubble primary ">Whos down for a pregame</div>
  <div class="bubble">YES! I got the day off! Say when and where?</div>
  <div class="bubble primary">Hows about Old Town at 4? we can get some grub and then head over to the venue</div>
  <div class="bubble">Yeah getting the band back together</div>
</div>
P粉277824378

Anda boleh "Letakkan Bayangan" daripada .bubble:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.container {
  --gap: 20px;
  --width: 800px;
  --background: #fff;
  display: flex;
  flex-direction: column;
  max-width: var(--width);
  margin: 16px auto;
  padding: 0 16px;
  overflow: hidden;
  gap: var(--gap);
  box-shadow: 0 0 0 100vw var(--background);
  font-family: sans-serif;
}

.container:before {
  content: '';
  inset: 0;
  position: fixed;
  z-index: -1;
  background: linear-gradient(purple, blue);
}

.bubble {
  max-width: 80%;
  background-color: lightgray;
  border-radius: 16px;
  padding: 8px 16px;
  box-shadow: 0 0 0 var(--gap) var(--background);
  position: relative;
}

.bubble::before,
.bubble::after {
  content: '';
  position: absolute;
  inset: calc(var(--gap) / -2) auto;
  background-color: var(--background);
  width: var(--width);
}

.bubble::before {
  right: 100%;
}

.bubble::after {
  left: 100%;
}

.bubble.primary {
  background-color: transparent;
  color: #fff;
  align-self: flex-end;
}
<div class="container">
  <div class="bubble">show weekend?</div>
  <div class="bubble primary">I'm down!</div>
  <div class="bubble">lets do this its been way to long since we were all together!</div>
  <div class="bubble primary ">Whos down for a pregame</div>
  <div class="bubble">YES! I got the day off! Say when and where?</div>
  <div class="bubble primary">Hows about Old Town at 4? we can get some grub and then head over to the venue</div>
  <div class="bubble">Yeah getting the band back together</div>
  <div class="bubble">show weekend?</div>
  <div class="bubble primary">I'm down!</div>
  <div class="bubble">lets do this its been way to long since we were all together!</div>
  <div class="bubble primary ">Whos down for a pregame</div>
  <div class="bubble">YES! I got the day off! Say when and where?</div>
  <div class="bubble primary">Hows about Old Town at 4? we can get some grub and then head over to the venue</div>
  <div class="bubble">Yeah getting the band back together</div>
  <div class="bubble">show weekend?</div>
  <div class="bubble primary">I'm down!</div>
  <div class="bubble">lets do this its been way to long since we were all together!</div>
  <div class="bubble primary ">Whos down for a pregame</div>
  <div class="bubble">YES! I got the day off! Say when and where?</div>
  <div class="bubble primary">Hows about Old Town at 4? we can get some grub and then head over to the venue</div>
  <div class="bubble">Yeah getting the band back together</div>
</div>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan