diff --git a/caption-filter.css b/caption-filter.css
index 1cc216b..4fc991a 100644
--- a/caption-filter.css
+++ b/caption-filter.css
@@ -3,12 +3,19 @@
  * Caption filter default styling for displaying image captions.
  */
 
+div.caption,
+div.caption-width-container {
+  max-width: 100%;
+}
+
 div.caption-inner {
   border: 1px solid #CCC;
   padding: 4px;
   background: #F3F3F3;
   font-size: 0.857em; /* assuming you have a base font size of 14px, this is 12px */
   text-align: center;
+  max-width: 100%;
+  width: auto;
 }
 
 div.caption p {
@@ -37,6 +44,6 @@ div.caption-center {
   text-align: center;
 }
 
-div.caption-center .caption-inner {
+div.caption-center .caption-width-container {
   display: inline-block;
 }
diff --git a/caption_filter.module b/caption_filter.module
index 39e933e..783bf8e 100644
--- a/caption_filter.module
+++ b/caption_filter.module
@@ -81,7 +81,7 @@ function _caption_filter_replace($matches) {
     $align = substr($align, 5);
   }
 
-  return '<div class="caption caption-'. $align .'"><div class="caption-inner" style="width: '. $width .';">'. $item . $caption .'</div></div>';
+  return '<div class="caption caption-'. $align .'"><div class="caption-width-container" style="width: '. $width .';"><div class="caption-inner">'. $item . $caption .'</div></div></div>';
 }
 
 /**
