Home > Back-end >  Hiding the overflowing part of an overlay div
Hiding the overflowing part of an overlay div

Time:07-31

I have a .ticket_keeper element that is child of .ticket element. I want to know how can I hide the overflowing part of .ticket_keeper:

enter image description here

CSS code:

.list > .ticket{
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   padding: 24px;
   gap: 8px;
   width: 320px;
   height: auto;
   background: #C440A1;
   box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.12), 0px 16px 32px rgba(0, 0, 0, 0.08);
   border-radius: 8px;
   overflow: hidden;
   flex: none;
   order: 1;
   flex-grow: 0;
}
.list > .ticket > .ticket_keeper{
   opacity: .5;
   background-color: #ddd;
   margin:-24px;
   width: 367px;
   height: 250px;
   position: absolute;
   order:9;
}

Related HTML:

 <div id={props.id} className={"ticket " props.ticketColor} onDragOver={AllowDrop} onDrop={Drop} draggable="true" onDragStart={Drag}>
    <h2 className="ticket_title">
      {props.ticketTitle}
    </h2>
    <div className="ticket_content">
      {props.ticketContent}
    </div>
    <div className="ticket_badge_ghost">
      <span className="ticket_badge_text">{props.badge}</span>
    </div>
    <div className="ticket_keeper"></div>
  </div>

CodePudding user response:

Add position:relative; to .list > .ticket, and change the styles for .list > .ticket > .ticket_keeper as below:

.list > .ticket > .ticket_keeper {
  opacity: 0.5;
  background-color: #ddd;
  position: absolute;
  inset:0 0 0 0;
  border-radius: 8px;
}

Here is a working simplified version of your code:

.ticket {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  gap: 8px;
  width: 320px;
  height: auto;
  background: #c440a1;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.12), 0px 16px 32px rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  flex: none;
  order: 1;
  flex-grow: 0;
  position:relative;
}
.ticket > .ticket_keeper {
  opacity: 0.5;
  background-color: #ddd;
  position: absolute;
  inset:0 0 0 0;
  border-radius: 8px;
}
<div id={props.id}  onDragOver={AllowDrop} onDrop={Drop} draggable=" true" onDragStart={Drag}>
  <h2 className="ticket_title">
    title
  </h2>
  <div >
    Contnet
  </div>
  <div >
    <span >bage</span>
  </div>
  <div ></div>
</div>

  • Related