diff --git a/projects/common/assets/i18n/de.json b/projects/common/assets/i18n/de.json
index 52227b0380884f964fbc62be1c8237e0dd50733c..94df8aca9a4204b48ca27e76b91ffaf0198443eb 100644
--- a/projects/common/assets/i18n/de.json
+++ b/projects/common/assets/i18n/de.json
@@ -7,5 +7,6 @@
     "inputTooShort": "Eingabe zu kurz",
     "inputTooLong": "Eingabe zu lang",
     "wrongPattern": "Eingabe enthält falsche Zeichen"
-  }
+  },
+  "imageNotFound": "Bild nicht gefunden"
 }
diff --git a/projects/common/element-components/button.component.ts b/projects/common/element-components/button.component.ts
index f616ff0b58465775fc54f88d315b14c2f0acb6e6..30db5ad0bddf66034ba5d0a835ea855f3d323faa 100644
--- a/projects/common/element-components/button.component.ts
+++ b/projects/common/element-components/button.component.ts
@@ -22,12 +22,16 @@ import { ButtonElement } from '../models/button-element';
               [style.border-radius.px]="elementModel.borderRadius">
         {{elementModel.label}}
       </button>
-      <input *ngIf="elementModel.imageSrc" type="image" [src]="elementModel.imageSrc"
-             [style.width.%]="100"
-             [style.height.%]="100"
-             [style.object-fit]="'contain'" alt="Bild nicht gefunden">
+      <input *ngIf="elementModel.imageSrc" type="image"
+             [src]="elementModel.imageSrc | safeResourceUrl"
+             [class]="elementModel.dynamicPositioning? 'dynamic-image' : 'static-image'"
+             [alt]="'imageNotFound' | translate">
     </div>
-  `
+  `,
+  styles: [
+    '.dynamic-image{width: 100%; height: fit-content}',
+    '.static-image{ width: 100%; height: 100%; object-fit: contain}'
+  ]
 })
 export class ButtonComponent extends ElementComponent {
   @Output() onFocusin = new EventEmitter();
diff --git a/projects/common/element-components/image.component.ts b/projects/common/element-components/image.component.ts
index 4f3cac573a6f8a03159344042d8c7122116f466f..ee0bfc8f4d594618583607112618d11896fb0b12 100644
--- a/projects/common/element-components/image.component.ts
+++ b/projects/common/element-components/image.component.ts
@@ -9,12 +9,14 @@ import { ImageElement } from '../models/image-element';
          [style.height.%]="100"
          [style.width.%]="100">
       <img [src]="elementModel.src | safeResourceUrl"
-           alt="Image Placeholder"
-           [style.object-fit]="'contain'"
-           [style.height.%]="100"
-           [style.width.%]="100">
+           [alt]="'imageNotFound' | translate"
+           [class]="elementModel.dynamicPositioning? 'dynamic-image' : 'static-image'">
     </div>
-  `
+  `,
+  styles: [
+    '.dynamic-image{width: 100%; height: fit-content}',
+    '.static-image{ width: 100%; height: 100%; object-fit: contain}'
+  ]
 })
 export class ImageComponent extends ElementComponent {
   elementModel!: ImageElement;