Изображение и текст в HTML - тег, размер которого изменяется в соответствии с размером контейнера. - PullRequest
0 голосов
/ 30 мая 2019

У меня есть изображение 482x482, которое я хочу использовать с контейнером <nav>, который определен следующим образом:

    <nav id="nav">
        <ul class="links">
            <li><a href="/exchange/accueil">
                <img src="{% static 'exchange/images/HomeIconWhite.png' %}"></img>
            </a><p>Accueil</p></li>
            <li><a href="/exchange/recherche_avance">Recherche avancée</a></li>
            <li><a href="/exchange/rajouter">Ajouter une info</a></li>
            {% if user.is_authenticated %}
            <li><a href="/exchange/deconnexion">Déconnexion</a></li>
            {% else %}
            <li><a href="/exchange/connexion">Connexion</a></li>
            {% endif %}
        </ul>
    </nav>

CSS, определяющий этот контейнер, выглядит следующим образом:

    #nav {
        color: #ffffff;
        display: -moz-flex;
        display: -webkit-flex;
        display: -ms-flex;
        display: flex;
        -moz-transition: -moz-transform 1s ease, opacity 1s ease;
        -webkit-transition: -webkit-transform 1s ease, opacity 1s ease;
        -ms-transition: -ms-transform 1s ease, opacity 1s ease;
        transition: transform 1s ease, opacity 1s ease;
        background: rgba(255, 255, 255, 0.175);
        height: 4rem;
        line-height: 4rem;
        margin: -4rem auto 0 auto;
        overflow: hidden;
        padding: 0 2rem 0 0;
        position: relative;
        width: calc(100% - 4rem);
        max-width: 72rem;
        z-index: 2;
    }

        #nav ul.divided li {
            border-top-color: #ffffff;
        }

        #nav ul.icons li a.icon:hover:before {
            color: #18bfef;
        }

        #nav ul.icons.alt li .icon:before {
            box-shadow: inset 0 0 0 2px #ffffff;
        }

        #nav ul.icons.alt li a.icon:hover:before {
            box-shadow: inset 0 0 0 2px #18bfef;
        }

        #nav input, #nav select, #nav textarea {
            color: #ffffff;
        }

        #nav a {
            color: #ffffff;
            border-bottom-color: rgba(255, 255, 255, 0.5);
        }

            #nav a:hover {
                border-bottom-color: transparent;
                color: #18bfef !important;
            }

        #nav strong, #nav b {
            color: #ffffff;
        }

        #nav h1, #nav h2, #nav h3, #nav h4, #nav h5, #nav h6 {
            color: #ffffff;
        }

        #nav blockquote {
            border-left-color: #ffffff;
        }

        #nav code {
            background: rgba(255, 255, 255, 0.075);
            border-color: #ffffff;
        }

        #nav hr {
            border-bottom-color: #ffffff;
        }

        #nav ul.links {
            display: -moz-flex;
            display: -webkit-flex;
            display: -ms-flex;
            display: flex;
            -moz-flex-grow: 1;
            -webkit-flex-grow: 1;
            -ms-flex-grow: 1;
            flex-grow: 1;
            -moz-flex-shrink: 1;
            -webkit-flex-shrink: 1;
            -ms-flex-shrink: 1;
            flex-shrink: 1;
            font-family: "Source Sans Pro", Helvetica, sans-serif;
            font-weight: 900;
            letter-spacing: 0.075em;
            list-style: none;
            margin-bottom: 0;
            padding-left: 0;
            text-transform: uppercase;
        }

            #nav ul.links li {
                display: block;
                padding-left: 0;
            }

                #nav ul.links li a {
                    -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
                    -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
                    -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
                    transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
                    display: block;
                    font-size: 0.8rem;
                    outline: none;
                    padding: 0 2rem;
                }

                    #nav ul.links li a:hover {
                        color: inherit !important;
                        background-color: rgba(255, 255, 255, 0.1);
                    }

                #nav ul.links li.active {
                    background-color: #ffffff;
                }

                    #nav ul.links li.active a {
                        color: #1e252d;
                    }

                        #nav ul.links li.active a:hover {
                            color: #18bfef !important;
                        }

        #nav ul.icons {
            -moz-flex-grow: 0;
            -webkit-flex-grow: 0;
            -ms-flex-grow: 0;
            flex-grow: 0;
            -moz-flex-shrink: 0;
            -webkit-flex-shrink: 0;
            -ms-flex-shrink: 0;
            flex-shrink: 0;
            margin-bottom: 0;
        }

        @media screen and (max-width: 980px) {

            #nav {
                display: none;
            }

        }

Я пытался определить некоторые правила в css как #nav ul.links img, но это не достигло моих целей.

Мне бы хотелось, чтобы изображение правильно помещалось в навигационный контейнер, было центрировано внутри него и имелокакой-то текст рядом с ним (также по центру)

Я почти уверен, что способ сделать это очевиден, но я не нашел в Интернете ответов, которые бы подходили для моей проблемы, у всех есть варианты, которые делают их неприменимымина мой вопрос.

Пожалуйста, скажите мне, если вам нужно больше деталей.Ссылка на изображение работает на 100%, поэтому проблема не в этом.

РЕДАКТИРОВАТЬ

Вот ссылка Github .

1 Ответ

1 голос
/ 30 мая 2019
#nav ul.links li:first-of-type a{
    display: flex
}
#nav ul.links li:first-of-type a p{
    margin-top: 0;
    margin-left: 5%
}
#logo{
    height: 4em;
    margin-top: 7px;            
}

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...