Отображение ошибки для нескольких изображений в Google Chrome, а не в Firefox с Symfony 4

Для проекта я должен отображать несколько изображений в модальном режиме (Начальная загрузка), но у меня есть реальная ошибка отображения между Firefox и Google Chrome.

Для проекта мы используем Symfony 4 и TWIG.

Я не понимаю, почему отображение в Chrome и Firefox отличается, надеюсь, у вас есть ответ на этот вопрос.

Здесь вы можете увидеть ошибку в Google Chrome Отображение ошибки для нескольких изображений в Google Chrome, а не в Firefox с Symfony 4

Здесь вы можете увидеть картинки в Firefox Отображение ошибки для нескольких изображений в Google Chrome, а не в Firefox с Symfony 4

Код HTML

{% extends 'base.html.twig' %}

{% block title %}Cadena{% endblock %}

{% block main %}
    <div class = "d-flex flex-row">
        <div class = "d-flex flex-column">
            <h2>{{ dm.getNote }} points</h2>
            {% if image is not null %}
            <img usemap = "#piece" class = "img-fluid" class = "img-fluid" src = "{{ asset('picsStorage/'~image) }}" width = "450">
            {% else %}
            <img usemap = "#piece" class = "img-fluid" src = "{{ asset('enseignant/img/roomview.png') }}" width = "450">
            {% endif %}
            <map name = "piece" id = "piece">
                {% for s in salle %}
                    {% if s.type == 'cadena' %}
                    <area shape = "rect" coords = "{{ s.coordobjet }}" href = "#" type = "button" data-toggle = "modal" data-target = "#cadena" alt = "Contact" />
                    {% else %}
                    <area shape = "rect" coords = "{{ s.coordobjet }}" href = "/etudiant/partie/{{ dm.getIddm }}/{{ s.idobjet }}" alt = "Contact" />
                    {% endif %}
                {% endfor %}
            </map>
        </div>

        <div class = "d-flex flex-column" style = "margin:10px;">

        {% if cadena.getNbessai > 1 %}
            <h3>
                {{ cadena.getNbessai }} / {{ cadena.getNbessaimax }} tentatives
            </h3>
        {% else %}
            <h3>
                {{ cadena.getNbessai }} / {{ cadena.getNbessaimax }} tentative
            </h3>
        {% endif %}

        <!-- Button trigger modal -->
        <button type = "button" class = "btn btn-secondary" data-toggle = "modal" data-target = "#exampleModal">
            Voir la carte des pieces
        </button>

        <!-- Modal -->
        <div class = "modal fade" id = "exampleModal" tabindex = "-1" role = "dialog" aria-labelledby = "exampleModalLabel" aria-hidden = "true">
            <div class = "modal-dialog" role = "document">
                <div class = "modal-content">
                    <div class = "modal-header">
                        <h5 class = "modal-title" id = "exampleModalLabel">Carte</h5>
                        <button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close">
                        <span aria-hidden = "true">&times;</span>
                        </button>
                    </div>
                    <div class = "modal-body">
                        <div class = "d-flex flex-column" style = "margin:10px">
                            {% for s in allRoom %}
                            <div class = "d-flex flex-row" style = "margin:10px">
                                {% if idSalleCourant == s.getIdsalle %}
                                    <h3 style = "margin-right:10px; color:blue">{{ s.getNomsalle }}</h3>
                                {% else %}
                                    <h3 style = "margin-right:10px">{{ s.getNomsalle }}</h3>
                                {% endif %}
                                {% if s.getImagesalle is not null %}
                                    <img width= 200px class = "img-fluid"  src = "{{ asset('picsStorage/'~s.getImagesalle) }}" >
                                {% else %}
                                    <img width= 200px class = "img-fluid" src = "{{ asset('enseignant/img/roomview.png') }}">
                                {% endif %}
                            </div>
                            {% endfor %}
                        </div>
                    </div>
                    <div class = "modal-footer">
                        <button type = "button" class = "btn btn-secondary" data-dismiss = "modal">Fermer</button>
                    </div>
                </div>
            </div>
        </div>

        {% if autoriser %}
        <div class = "alert alert-warning" role = "alert" style = "margin:20px">
                Il n'y a aucun cadena trouver ici !
        </div>
        {% else %}
        <div class = "modal fade" id = "cadena" tabindex = "-1" role = "dialog" aria-labelledby = "exampleModalLabel" aria-hidden = "true">
            <div class = "modal-dialog" role = "document">
                <div class = "modal-content">
                    <div class = "modal-header">
                        <h5 class = "modal-title" id = "exampleModalLabel">Le cadena</h5>
                        <button type = "button" class = "close" data-dismiss = "modal" aria-label = "Close">
                        <span aria-hidden = "true">&times;</span>
                        </button>
                    </div>
                    <div class = "modal-body">
                        {{ form_start(form) }}
                        {{ form_widget(form) }}
                        {{ form_end(form) }}
                    </div>
                </div>
            </div>
        </div>
        {% endif %}

        {% if error is defined and error_type is defined %}
            <div class = "alert alert-{{ error_type }}" role = "alert">
                {{ error }}
            </div>
        {% endif %}
        </div>
    </div>
    <div class = "progress">
        <div class = "progress-bar" role = "progressbar" style = "width: {{ (1/nbSalle)*100 }}%;" aria-valuenow = "25" aria-valuemin = "0" aria-valuemax = "100"></div>
    </div>


{% endblock %}

Код PHP

     /**
     * @Route("/etudiant/partie/{idDm}", name = "jouepartie")
     */
    public function jouepartie($idDm, Request $request)
    {
        $dm = $this->getDoctrine()->getRepository(Dm::class)->find($idDm);
        $s = $this->getDoctrine()->getRepository(Salle::class)->getRoomByDM($idDm);
        $nbSalle = $this->getDoctrine()->getRepository(Salle::class)->getNbSalle($idDm);

        $em = $this->getDoctrine()->getManager();

        $dm = $em->getRepository(Dm::class)->find($idDm);
        $s = $this->getDoctrine()->getRepository(Salle::class)->getRoomByDM($idDm);

        //id salle courant : $s[0]["idsalle"]
        $autorisePlacerCadena = $this->getDoctrine()->getRepository(Salle::class)->autorisationPlacerCadena($s[0]["idsalle"]);

        if (sizeof($s) > 0)
        {
            $cont = $em->getRepository(Contient::class)->findOneBy([
                "iddm" => $dm->getIddm(),
                'idsalle' => $s[0]["idsalle"],
            ]);
            $room = $this->getDoctrine()->getRepository(Salle::class)->find($s[0]["idsalle"]);
            $lsObj = $room->getIdobjet();

            $link = $this->getDoctrine()->getRepository(EstLierA::class)->findBy([
                'idsalle' =>  intval($s[0]["idsalle"]),
                'iddm' => intval($idDm)
            ]);

            $form = $this->createFormBuilder();

            $cpt = 0;
            foreach ($link as $enigme) {
                $cpt+=1;
                dump($enigme);
                $form->add($enigme->getIdenigme()->getIdenigme(), TextAreaType::class, array("label"=>$enigme->getIdenigme()->getNomenigme(), "attr" => array("style"=>"margin:5px;","class" => "form-control")));
            }

            $form-> add ('save', SubmitType::class, array('label'=>'Valider', "attr" => array("style"=>"margin:5px;","class" => "btn btn-primary")));
            $recup = $form->getForm();
            $recup->handleRequest($request);
            if ($recup->isSubmitted() && $recup->isValid())
            {
                if ($dm->getIdgr()->getIdpush() != $this->getUser()->getNetu())
                {
                    return $this->render('partie/index.html.twig', [
                        'dm' => $dm,
                        'image' => $s[0]["imagesalle"],
                        'salle' => $s,
                        'lsObj' => $lsObj,
                        'form' => $recup->createView(),
                        'nbSalle' => $nbSalle,
                        'error' => "Vous n'êtes pas le chef de groupe !",
                        'allRoom' => $dm->getIddev()->getIdsalle(),
                        'idSalleCourant' => $s[0]["idsalle"],
                        'autoriser' => $autorisePlacerCadena,
                        'error_type' => "danger",
                        'cadena' => $cont->getIdcadena(),
                    ]);
                }
                else
                {
                    $cadena = $cont->getIdcadena();
                    $valEnigme = 0;
                    foreach ($link as $enigme)
                    {
                        $rep = $recup->get($enigme->getIdenigme()->getIdenigme())->getData();
                        if ($rep != $enigme->getIdenigme()->getSolution())
                        {
                            if ($cont->getIdcadena()->getNbessai() <= $cont->getIdcadena()->getNbessaimax() - 1)
                            {
                                $cont->getIdcadena()->setNbessai($cont->getIdcadena()->getNbessai() + 1);
                                $em->flush();   
                            }

                            return $this->render('partie/index.html.twig', [
                                'dm' => $dm,
                                'image' => $s[0]["imagesalle"],
                                'salle' => $s,
                                'lsObj' => $lsObj,
                                'form' => $recup->createView(),
                                'allRoom' => $dm->getIddev()->getIdsalle(),
                                'idSalleCourant' => $s[0]["idsalle"],
                                'nbSalle' => $nbSalle,
                                'autoriser' => $autorisePlacerCadena,
                                'error' => "Reponse invalide !",
                                'error_type' => "danger",
                                'cadena' => $cont->getIdcadena(),
                            ]);
                        }

                        $valEnigme += ($enigme->getIdenigme()->getMaxpoint()) * (($cadena->getNbessaimax() - $cadena->getNbessai()) / $cadena->getNbessaimax());
                    }

                    $dm->setNote($dm->getNote() + $valEnigme);
                    $cont->getIdcadena()->setEtatc(TRUE);
                    $em->flush();
                    return $this->redirectToRoute('jouepartie',  ['idDm' => $dm->getIddm()]);
                }

            }

            return $this->render('partie/index.html.twig', [
                'dm' => $dm,
                'image' => $s[0]["imagesalle"],
                'idSalleCourant' => $s[0]["idsalle"],
                'salle' => $s,
                'lsObj' => $lsObj,
                'allRoom' => $dm->getIddev()->getIdsalle(),
                'form' => $recup->createView(),
                'autoriser' => $autorisePlacerCadena,
                'cadena' => $cont->getIdcadena(),
                'nbSalle' => $nbSalle,
            ]);
        }
        if (! is_null($dm))
        {
            $valPts = $dm->getNote();
            $resultatFinal = ($dm->getNote() * 20) / $dm->getIddev()->getMaxpoint();
            $dm->setNote($resultatFinal);

            $this->addFlash('success', "Vous avez fini la partie avec ".$valPts." pts !");
            return $this->redirectToRoute('pageAccueil');
        }        

        $this->addFlash('danger', "La partie est déjà fini !");
        return $this->redirectToRoute('pageAccueil');

    }

Глобальный CSS

body
{
    font-family: sans-serif;
}

#main
{
    margin-top: 5em; 
}

#dragThis {
    width: 8em;
    height: 8em;
    padding: 0.5em;
    border: 3px solid #ccc;
    border-radius: 0 1em 1em 1em;
    background-color: #fff;
    background-color: rgba(255,255,255,0.5);
}

#dropHere {
    width: 20em;
    height: 20em;
    padding: 0.5em;
    border: 3px solid #f90;
    border-radius: 1em;
    margin: 0 auto;
}

.lsEnigme>li
{
  list-style:none;
}

.box>ul
{
    list-style:none;
    margin-left:0;
    padding-left:0;
    color: white;
}

.box {
    height: 100px;
    width: 100px;
    background-color: black;
    position: relative;
    top: 5px;
    left: 5px;
    cursor: pointer;
  }

  .held {
    border: solid 10px black;
    background-color: black;
  }

  .holder {
    height: 110px;
    width: 110px;
    margin: 10px;
    border: solid 5px black;
    background-color: white;
    display: inline-block;
  }

  .hovered {
    border: dotted 5px black;
  }

  .invisible {
    display: none;
  }

  #container {
    margin: auto;
    top: 100px;
    width: 400px;
    position: relative;
  }

  #editRoom
  {
    display: flex;
    flex-wrap: wrap;
  }

  #dropZone
  {
    flex: 1 1 60%;
    display: flex;
    flex-wrap: nowrap;
  }

  #lsObject
  {
    margin: 20px;
    flex: 1 1 20%;
    display: flex;
    flex-wrap: wrap;
  }

  .dragElement
  {
    background-color: red;
  }

  .label-file {
    padding: 10px;
      cursor: pointer;
      color:white;
      background-color: #F7230C;
      font-weight: bold;
  }
  .label-file:hover {
      color: black;
  }

  .input-file {
      display: none;
  }

  #room {position:absolute;z-index:1;}

  #img
  {
    display:inline-block;
    width:500px; 
    height:500px;
    margin: 0 auto; 
    position:relative; 
    border-radius: 10px; 
  }

  #myCanvas
  {
    position:relative;
    z-index:20;
  }
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
72
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Некоторые браузеры более строго относятся к высоте и ширине тегов <img>. Если вы не знаете высоту, установите для нее значение auto:

.img-fluid {
  height: auto;
}

Другие вопросы по теме