Seeking assistance in developing a dynamic footer complete with a gallery of images

Attempting to create a footer packed with images but struggling to ensure it looks good on both PCs and mobile devices.

The goal is to align the bronze sponsor kitten to the left, and supporter kittens to the right, while keeping the footer at a reasonable height.

Attempts have been made using a grid system, but difficulty arises in controlling the size of the bronze sponsor kitten's photo without causing the images to overflow the container, resulting in the footer expanding beyond the webpage. Flexbox has not been utilized previously.

footer .container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.bronze-container {
    max-width: 300px;
}
.sponsor-container {
}
.othersupporter {
  background: white;
  flex: 1;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}
.othersupporter > p {
  background: white;
  color: black;
  padding: 1%;
  margin: 1px;
  flex: 1 0 15%;
}
.row h4 {
    padding-left: 2rem;
}
<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<title>Title of the document</title>
</head>

<body>
<footer style='background-color:white; width:100%; height:250px'>
    <div class='container' style='max-width:1024px; height:250px'>
        <div class='bronze-container'>
            <div class='row text-center' >
                <h4 >Bronze Sponsor </h4>
            </div>
            <div class='row text-center'>
                <img src="https://i.imgur.com/ZA7mKts.png" class="card-img" alt="...">
            </div>
        </div>
        <br class="visible-m"/>
        <div class='sponsor-container'>
            <div class="row text-center" >
                <h4>Supporters</h4>
            </div>
            <div class="othersupporter">
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
                <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
            </div>
        </div>
    </div>
</footer>
</body>

</html>

Answer №1

Your use of the flex-wrap property in the footer .container was causing the elements to stack vertically instead of aligning side by side. I made some adjustments by replacing the max-width setting in the .bronze-container with a flex declaration that sets the basis at 200px. This seemed to provide a better layout in the preview, but you may need to fine-tune it for your specific needs.

footer .container {
  display: flex;
  justify-content: space-between;
}

.bronze-container {
  flex: 0 0 200px;
}

.sponsor-container {}

.othersupporter {
  flex: 1;
  display: flex;
  justify-content: space-around;
  align-items: center;
  flex-wrap: wrap;
}

.othersupporter > p {
  padding: 1%;
  margin: 0;
  flex: 1 0 15%;
}

.row h4 {
  padding-left: 2rem;
}
<!DOCTYPE html>
<html>

<head>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

  <title>Title of the document</title>
</head>

<body>
  <footer>
    <div class='container'>
      <div class='bronze-container'>
        <div class='row text-center'>
          <h4>Bronze Sponsor </h4>
        </div>
        <div class='row text-center'>
          <img src="https://i.imgur.com/ZA7mKts.png" class="card-img" alt="...">
        </div>
      </div>
      <br class="visible-m" />
      <div class='sponsor-container'>
        <div class="row text-center">
          <h4>Supporters</h4>
        </div>
        <div class="othersupporter">
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
          <p><img src="https://i.imgur.com/ZA7mKts.png" class="card-img    " alt="..."></p>
        </div>
      </div>
    </div>
  </footer>
</body>

</html>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Change SVG path data into a range of 0 to 1 in order to utilize it as a clip path with objectBoundingBox

My SVG shape, exported from Illustrator as a clipping path, is quite complex. The issue I'm facing is that objectBoundingBox restricts path data to the 0-1 range, but my path data exceeds this range. Here is the current code I'm using: <svg& ...

The Google map is not showing up on the screen despite having entered the API Key

Trying to showcase a Google map on my website. Check out the code below:- <script> function initializeMap() { var coords = {lat: -25.363, lng: 131.044}; var mapObj = new google.maps.Map(document.getElementById('mapz') ...

Adding a MySQL-PHP combination programmatically

Currently, I am working on a custom HTML page that sends data to PHP variables which are then utilized to generate customized SQL queries. function load_table($db, $old_table, $startRow, $nameColumn, $ipColumn, $addressColumn, $cityColumn, $stateColumn, $ ...

Modifying the information depending on the option chosen from the dropdown menu using angularJS

I have a dropdown menu where I can choose between two options, and when selected, the corresponding data is displayed. However, I would like to display the data that is inside a div tag instead. Check out this Fiddle Demo HTML: <div ng-controller="Ct ...

Disappear solely upon clicking on the menu

Currently, I am working on implementing navigation for menu items. The functionality I want to achieve is that when a user hovers over a menu item, it extends, and when they move the mouse away, it retracts. I have been able to make the menu stay in the ex ...

Implement dynamic page titles with breadcrumbs in Laravel 8 for a seamless user experience

I am currently utilizing the laravel-breadcrumbs package created by diglactic in conjunction with laravel 8, which is a fork from davejamesmiller/laravel-breadcrumbs. My goal is to incorporate a dynamic page title that aligns with this breadcrumbs package. ...

Logging DOM elements with Electron's webview preload feature

Within my Electron program, I am utilizing a webview in my index.html file. The webview is equipped with a preloader, and my goal is to manipulate the DOM of the webview specifically, not just the index.html file. In my preloader code snippet below, the c ...

Activate the drop-down division when the search box is in focus with xoxco technology

Currently, I am incorporating Xoxco's tag input plugin which can be found at the following link: In my customization, I have implemented JQuery's focus() function <input id="tags_1" class="tag-holder" type="text" class="tags" /></p> ...

Drawing unusual shapes using canvas arcs in Coffeescript

@.ctx.lineWidth = 20 @.ctx.moveTo(i.x, i.y) @.ctx.arc(i.x, i.y, 3, 0, Math.PI * 2) Can you explain how the code snippet above contributes to the image displayed? ...

Error encountered during GSTIN validation in the Polymer JS console

I'm currently working on a Polymer JS code that validates GSTIN: <dom-module id="gst"> <template> <div> <label for="gstid" class="gstlabel">GSTIN</label> <input type="te ...

What is preventing the 'p:nth-child(1)' from functioning properly in my HTML code?

Even though I used p:nth-child(1){color: white;} in my CSS style tag, it did not produce the expected result. body { background-color: #162b85; } button, p:nth-child(1) { color: white; } <p class="center">Register your account</p&g ...

I am experiencing issues with my bootstrap file not working despite providing the correct file path. The styles are not being applied on my webpage

The file path is provided below <link rel="stylesheet" href="../css/bootstrap.min.css"> I have exhausted all options in an attempt to resolve the issue. The browser console indicates a 404 error (err_abborted) ...

Issue with loading function in FullCalendar React integration

Currently experimenting with FullCalendar v5 for React and exploring the Resource Timeline view feature. Facing an issue with the "loading" function - the idea is to monitor the state of FullCalendar and, if it's in a loading state, display a Spinner ...

Display Page Separation with JavaScript

I am working on a project where I have created payslips using Bootstrap through PHP. To maintain organization, I am looking to create a new page after every 6 payslips. Below is the code snippet that I am using to generate the payslips: foreach($results a ...

There seems to be an issue with the AngularJS ng-click function not functioning properly

I'm attempting to insert a link tag with a filter into an HTML content. The HTML content is bound using ng-bind-html and the link tag includes an ng-click directive. However, I'm facing an issue where the ng-click function is not functioning. He ...

I have created a textbox with a button, but I am unsure of how to delete it

var emailFields = document.getElementById('emails'), addLinkButton = document.createElement('a'), fieldTemplate = emailFields.getElementsByTagName('div'), currentFieldCount = fieldTemplate.length, maxFields ...

Adjust the CSS border to finish at a 90-degree angle rather than a 45-degree angle

The div I'm working with has unique colors for the border-bottom and border-right properties, creating a diagonal line that separates the box at a 45 degree angle. I'm looking to adjust the bottom-border to be shorter in order for the right bord ...

how to change class on vue function result

I need a way to display the content stored in requestData as li elements. Each list item should have an onclick function that, when clicked (selected), adds a specific value from a reference to an array. If clicked again (unselected), it should remove the ...

How to change the file name of an HTML page in a website template?

After downloading a free dashboard website template from the internet, I've been trying to incorporate it into my own website. My main focus now is on creating a navbar that opens the relevant page upon clicking. To do this, I duplicated the html fi ...

I am interested in altering the color of table rows using either JQuery or CSS

Looking to update row colors based on grouping. For example: Color the TR accordingly for every 5 rows: First 5 rows in green (0-4 Rows), Next five rows in red (5-9 Rows), Following five rows in yellow (10-14 Rows) and repeat the pattern... ...