This Joomla 4 override allows you to display a flipping image with atext in the back simply using Joomla's mod_random_image module. At the bottom of this article, you can download the files of the override.

Joomla 4 frontend rendering

PhP markup

<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 * @author      web-eau.net
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

if (!count($images))
{
	echo Text::_('MOD_RANDOM_IMAGE_NO_IMAGES');

	return;
}
?>

<div class="random-image<?php echo $moduleclass_sfx; ?>">

<div class="flip-box">
  <div class="flip-box-inner">
    <div class="flip-box-front">   
   
		<?php if ($link) : ?>
			<a href="<?php echo $link; ?>">
			<?php endif; ?>
				<?php echo JHtml::_('image', $image->folder . '/' . htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), array('width' => $image->width, 'height' => $image->height)); ?>
			<?php if ($link) : ?>
			</a>
		<?php endif; ?>
    </div>
    <div class="flip-box-back">
      <h2>Title</h2>
      <p>Text about the image</p>  
  	</div>
          
  </div>
</div>
  
</div>

CSS

.flip-box {
  background-color: transparent;
  width: 300px;
  height: 200px;
  border: 1px solid #f1f1f1;
  perspective: 1000px; /* Comment this if you don't want the 3D effect */
}
.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}
.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}
.flip-box-front {
  background-color: #bbb;
  color: black;
}
.flip-box-back {
  background-color: dodgerblue;
  color: white;
  transform: rotateY(180deg);
}

This Joomla 3 override allows you to display a flipping image with atext in the back simply using Joomla's mod_random_image module. At the bottom of this article, you can download the files of the override.

Joomla 3 frontend rendering

PhP markup

<?php
 /**
  * @package     Joomla.Site
  * @subpackage  mod_random_image
  * @author		 web-eau.net
  * @copyright   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
  * @license     GNU General Public License version 2 or later; see LICENSE.txt
  */
 
 defined('_JEXEC') or die;
 ?>  
   
<div class="random-image<?php echo $moduleclass_sfx; ?>">

<div class="flip-box">
  <div class="flip-box-inner">
    <div class="flip-box-front">   
   
		<?php if ($link) : ?>
			<a href="<?php echo $link; ?>">
			<?php endif; ?>
				<?php echo JHtml::_('image', $image->folder . '/' . htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), htmlspecialchars($image->name, ENT_COMPAT, 'UTF-8'), array('width' => $image->width, 'height' => $image->height)); ?>
			<?php if ($link) : ?>
			</a>
		<?php endif; ?>
    </div>
    <div class="flip-box-back">
      <h2>Title</h2>
      <p>Text about the image</p>  
  	</div>
          
  </div>
</div>
  
</div>

CSS

.flip-box {
  background-color: transparent;
  width: 300px;
  height: 200px;
  border: 1px solid #f1f1f1;
  perspective: 1000px; /* Comment this if you don't want the 3D effect */
}
.flip-box-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}
.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}
.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
}
.flip-box-front {
  background-color: #bbb;
  color: black;
}
.flip-box-back {
  background-color: dodgerblue;
  color: white;
  transform: rotateY(180deg);
}

web-eau.net

29800 Landerneau

+33 674 502 799

daniel@web-eau.net