简体   繁体   中英

navbar-brand image does not fit the navbar height

I'm trying to add a navbar brand image to my website. The the logo does not seem to fit the navbar. Either it is too big or it is too small (when I set the height:100% )

This is my navbar html:

<nav class="navbar navbar-default navbar-fixed-top">
            <div class="container">
                <div class="navbar-header">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#collapse" aria-expanded="false">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="">
                        <img class="img img-responsive" src="www/images/srs.png" alt="SRS Constructions">
                    </a>
                </div>
                <div class="collapse navbar-collapse navbar-right" id="collapse">
                    <ul class="nav navbar-nav">
                        <li class="active"><a class="main" href="#main">Home <span class="sr-only">(current)</span></a>
                            <div class="nav-line"></div>
                        </li>
                        <li class="dropdown" id="nav-about">
                            <a href="#about" class="dropdown-toggle main" role="button" aria-haspopup="true" aria-expanded="false">About
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="about.html">The Founder</a></li>
                                <li role="separator" class="divider"></li>
                                <li><a href="health-policy.html">HSE Policy</a></li>
                                <li><a href="quality-policy.html">Quality Policy</a></li>
                            </ul>
                            <div class="nav-line"></div>
                        </li>
                        <li><a class="main" href="#services">Services</a>
                            <div class="nav-line"></div>
                        </li>
                        <li><a class="main" href="#projects">Our Projects</a>
                            <div class="nav-line"></div>
                        </li>
                        <li><a class="main" href="#whyus">Why Us</a>
                            <div class="nav-line"></div>
                        </li>
                        <li><a class="main" href="#contact">Contact</a>
                            <div class="nav-line"></div>
                        </li>
                    </ul>
                </div>
            </div>
        </nav>

My navbar css :

.navbar {
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
}

.navbar-default .navbar-nav {
    font-size: 15px;
}

.navbar-fixed-top {
    min-height: 80px;
}

.navbar-nav>li {
    position: relative;
}

.navbar-nav>li>a {
    padding-top: 0px;
    padding-bottom: 0px;
    line-height: 80px;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
    color: #fff;
    background-color: #b4a28f;
}

.navbar-default .navbar-nav .dropdown-menu {
    left: 0;
    right: auto;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:hover,
.dropdown-menu>.active>a:focus {
    color: #ffffff;
    text-decoration: none;
    outline: 0;
    background-color: #b4a28f;
}

@media (min-width: 768px) {
    .navbar-nav>li>.nav-line {
        position: absolute;
        bottom: -1px;
        left: 0;
        background-color: #3178b9;
        height: 3px;
        width: 0%;
    }
    .navbar-nav>li:hover>.nav-line {
        background-color: #3178b9;
        height: 3px;
        width: 100%;
        -webkit-transition: all 200ms ease-in;
        -moz-transition: all 200ms ease-in;
        -o-transition: all 200ms ease-in;
        transition: all 200ms ease-in;
    }
    .navbar-nav>li.active>.nav-line {
        background-color: transparent;
    }
}

@media (max-width: 767px) {
    .navbar-nav > li > a {
        line-height: 30px;
        padding-top: 10px;
        padding-bottom: 10px;
    }
    #footer {
        color: #2e2e2e;
    }
}

I would either use a 500px*536px image or an 551px*76px image. I want the image to be responsive as well. The working version can be viewed here .

Please help me to get the image fixed within the navbar height.

Try this

CSS

.navbar-brand
{
padding: 4px 0px;
height: 80px;
display: block;
float: none;
}

.navbar-brand>img {
display: block;
max-height: 100%;
max-width: 100%;
margin: auto 40%;
}

hope this helps..

<!doctype html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<script>

</script>

<style>
.navbar {
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
}

.navbar-default .navbar-nav {
font-size: 15px;
}

.navbar-fixed-top {
min-height: 80px;
}

.navbar-nav>li {
position: relative;
}

.navbar-nav>li>a {
padding-top: 0px;
padding-bottom: 0px;
line-height: 80px;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #fff;
background-color: #b4a28f;
}

.navbar-default .navbar-nav .dropdown-menu {
left: 0;
right: auto;
}

.dropdown-menu>.active>a,
.dropdown-menu>.active>a:hover,
.dropdown-menu>.active>a:focus {
color: #ffffff;
text-decoration: none;
outline: 0;
background-color: #b4a28f;
}

@media (min-width: 768px) {
.navbar-nav>li>.nav-line {
position: absolute;
bottom: -1px;
left: 0;
background-color: #3178b9;
height: 3px;
width: 0%;
}
.navbar-nav>li:hover>.nav-line {
background-color: #3178b9;
height: 3px;
width: 100%;
-webkit-transition: all 200ms ease-in;
-moz-transition: all 200ms ease-in;
-o-transition: all 200ms ease-in;
transition: all 200ms ease-in;
}
.navbar-nav>li.active>.nav-line {
background-color: transparent;
}
}

@media (max-width: 767px) {
.navbar-nav > li > a {
line-height: 30px;
padding-top: 10px;
padding-bottom: 10px;
}
#footer {
color: #2e2e2e;
}
</style>

</head>
<body>

<nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
        <div class="navbar-header"> 

            <div class="row">
                <div class="col-sm-10 visible-sm visible-md visible-lg">
                    <a class="navbar-brand" href="">
                        <img class="img img-responsive" src="www/images/srs.png" alt="SRS Constructions">
                    </a>
                </div>

                <div class="col-xs-2 visible-xs">

                </div>              

                <div class="col-xs-8 visible-xs">
                     <a class="navbar-brand" href="">
                         <img class="img img-responsive" src="www/images/srs.png" alt="SRS Constructions">
                     </a>   
                </div>

                <div class="col-xs-2">
                     <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#collapse" aria-expanded="false">
                         <span class="sr-only">Toggle navigation</span>
                         <span class="icon-bar"></span>
                         <span class="icon-bar"></span>
                         <span class="icon-bar"></span>
                     </button>
                 </div>

        </div>          

        </div>      

        <div class="collapse navbar-collapse navbar-right" id="collapse">
            <ul class="nav navbar-nav">

                <li class="active"><a class="main" href="#main">Home <span class="sr-only">(current)</span></a>
                    <div class="nav-line"></div>
                </li>
                <li class="dropdown" id="nav-about">
                    <a href="#about" class="dropdown-toggle main" role="button" aria-haspopup="true" aria-expanded="false">About
                    </a>
                    <ul class="dropdown-menu">
                        <li><a href="about.html">The Founder</a></li>
                        <li role="separator" class="divider"></li>
                        <li><a href="health-policy.html">HSE Policy</a></li>
                        <li><a href="quality-policy.html">Quality Policy</a></li>
                    </ul>
                    <div class="nav-line"></div>
                </li>
                <li><a class="main" href="#services">Services</a>
                    <div class="nav-line"></div>
                </li>
                <li><a class="main" href="#projects">Our Projects</a>
                    <div class="nav-line"></div>
                </li>
                <li><a class="main" href="#whyus">Why Us</a>
                    <div class="nav-line"></div>
                </li>
                <li><a class="main" href="#contact">Contact</a>
                    <div class="nav-line"></div>
                </li>
            </ul>
        </div>
    </div>
</nav>

</body>
</html>

Solution:

 .navbar-brand img{
    width: 100%;
    height: 100px; /*** As per Your Requirement ***/
 }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM