Documentation

CSS Class Reference

This comprehensive reference lists all CSS classes used in CoupEdge banners, allowing you to create advanced custom styling through the Custom CSS field in your banner settings.

Container Classes

Class NameDescriptionExample CSS
.ppp-containerThe main banner container element.ppp-container { border-left: 4px solid #ff0000; max-width: 1200px; margin: 0 auto; }
.ppp-contentThe content wrapper inside the banner.ppp-content { padding: 0 20px; display: flex; align-items: center; }
.ppp-floating-contentContent wrapper for floating layout.ppp-floating-content { max-width: 300px; box-shadow: 0 5px 15px rgba(0,0,0,0.2); }
.ppp-floating-message-containerMessage container in floating layout.ppp-floating-message-container { margin-bottom: 12px; }
.ppp-floating-actionsActions container in floating layout.ppp-floating-actions { justify-content: space-between; }

Message & Text Classes

Class NameDescriptionExample CSS
.ppp-messageThe main message text container.ppp-message { font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.ppp-floating-messageMessage text in floating layout.ppp-floating-message { font-size: 14px; line-height: 1.4; }
.ppp-contextual-textAdditional context text.ppp-contextual-text { font-style: italic; opacity: 0.8; font-size: 0.9em; }
.ppp-popup-headerHeader text in popup layout.ppp-popup-header { text-transform: uppercase; letter-spacing: 1px; text-align: center; }
.ppp-popup-bodyBody text in popup layout.ppp-popup-body { text-align: center; margin-bottom: 1em; }
.ppp-countdownCountdown timer display.ppp-countdown { font-family: monospace; background: rgba(0,0,0,0.2); padding: 4px 8px; border-radius: 4px; }
.ppp-brandingCoupEdge branding text.ppp-branding { display: none; /* Hide branding */ }

Button & Interactive Element Classes

Class NameDescriptionExample CSS
.ppp-buttonAction button.ppp-button { text-transform: uppercase; font-weight: bold; transition: transform 0.2s; } .ppp-button:hover { transform: translateY(-2px); }
.ppp-copy-buttonCopy coupon button.ppp-copy-button { border: 1px dashed #fff; border-radius: 4px; } .ppp-copy-button.copied { background: rgba(0,0,0,0.1); }
.ppp-closeClose button.ppp-close { background: rgba(0,0,0,0.1); border-radius: 50%; padding: 6px; } .ppp-close:hover { background: rgba(0,0,0,0.2); transform: scale(1.1); }
.ppp-iconIcon container.ppp-icon { background: rgba(255,255,255,0.2); border-radius: 50%; padding: 4px; margin-right: 8px; }
.ppp-floating-iconIcon in floating layout.ppp-floating-icon { font-size: 1.2em; margin-top: 2px; }

State & Modifier Classes

Class NameDescriptionExample CSS
.ppp-copy-button.copiedCopy button in "copied" state.ppp-copy-button.copied { background-color: rgba(0,255,0,0.1); color: #fff; }
[data-theme="dark"] .ppp-containerContainer with dark theme[data-theme="dark"] .ppp-container { border-color: #333; }

Advanced CSS Examples

Animated Banner

.ppp-container {
  animation: slideDown 0.5s ease-out;
}

@keyframes slideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

Pulsing Copy Button

.ppp-copy-button {
  animation: pulse 2s infinite;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

Gradient Text

.ppp-message {
  background: linear-gradient(90deg, #ff8a00, #e52e71);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
}

Custom Close Button

.ppp-close {
  background: transparent;
  border: 2px solid rgba(255,255,255,0.5);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.ppp-close:hover {
  transform: rotate(90deg);
  border-color: white;
}

CSS Best Practices

Performance Tips

  • Use simple CSS properties that don't trigger layout recalculations (color, background, transform, opacity)
  • Avoid excessive animations that might slow down the page
  • Use the z-index setting rather than CSS for stacking order
  • Keep your custom CSS concise and focused on specific changes

Compatibility Tips

  • Test your custom CSS across different browsers
  • Use vendor prefixes for experimental CSS properties
  • Avoid using CSS that might conflict with your website's styles
  • Consider using a custom class prefix to prevent conflicts