Bonsoir à tous

Je suis en train de faire un dashboard avec mode responsive. J'ai codé mon css en utilisant compass et scss et je dois dire que je suis très content du résultat. J'ai suivi le tutoriel de Grafikart sur le first mobile response et le soucis qu'il y a est qu'au final, j'ai plus de ligne dans mon scss en version mobile first qu'en faisant l'inverse. Qu'en pensez vous, est ce normal? Si vous voulez voir mon scss, pas de problème je peux le mettre.

J'attend votre retour, merci d'avance.
leknoppix

Mon SCSS

/* HEADER */
header
{
    height:$HeightHeader;
    background-color:$ColorFondHeader;
}
.logo{
        float:left;
        width: $HeightHeader;
        height:$HeightHeader;
        background-color:$ColorFondHeaderClair;
        line-height:$HeightHeader;
        text-align:center;
        font-family: Open sans;
        font-weight:300;
        a{
            color:white;
            font-size: 24px;
            text-decoration: none
        }
        strong{
            font-family: Open sans;
            font-weight: 400;
        }
        i{
            font-size:30px;
        }
        p{
            display: none;
        }
}
.header-content{
    overflow: hidden;
    height:$HeightHeader;
    line-height:$HeightHeader;
    .account{
        display: inline-block;
        margin-right:15px;
        float:right;
        vertical-align: top;
        cursor: pointer;
        img{
            vertical-align:middle;
            height: 40px;
            @include border-radius(25px);
        }
        i{
            vertical-align: middle;
            margin-left: 10px;
            color: #fff;
        }
    }
    .breadcrumb, .search{
        display: none;
    }
    .top-account{
        position: absolute;
        top:$HeightHeader;
        left:0;
        right: 0;
        bottom: 0;
        @include border-radius(0px);
        width: 100%;
        text-align: center;
        background-color: $ColorNav;
        z-index: 5;
        a{
            display: block;
            line-height: 25px;
            color:#758697;
            padding:0 10px;
            text-decoration: none;
            &:hover{
                font-weight: bold;
                background-color: $ColorNavHover;
                border-right:3px solid $ColorFondHeader;
                border-left:3px solid $ColorFondHeader;
            }
        }
    }
}
form{
    padding:0 20px;
    text-align: right;
}
@media (max-width:1024px) and (min-width:768px){
    .header-content{
        text-align:right;
        .breadcrumb{
            display: inline-block;
            vertical-align: top;
            color:#ffffff;
            font-size: 16px;
            width: auto;
            span{
                display:inline-block;
            }
            a{
                color: #ffffff;
                text-decoration: none;
            }
            &.hide{
                display:none;
            }
            .br-content{
                margin-left:20px;
                .home{
                    font-family: Open sans;
                    font-weight: 600;
                    text-transform:uppercase;
                }
            }
        }
        .search{
            display:inline-block;
            vertical-align: top;
            overflow: hidden;
            width: auto;
            .search-input{
                height: 30px;
                width:auto;
                border:none;
                @include border-radius(5px);
                display:none;
                &.responsive{
                    display:initial;
                    width:auto;
                }
            }
            button{
                &.search-responsive{
                    display:inline-block;
                    &.hide{
                        display:none;
                    }
                }
                &.search-close{
                    display: none;
                    &.responsive{
                        display:inline-block;
                    }
                }
            }
        }
    }
}
@media (min-width:768px){
    .header-content{
        .breadcrumb{
            display: inline-block;
            vertical-align: top;
            color:#ffffff;
            font-size: 16px;
            width: 50%;
            span{
                display:inline-block;
            }
            a{
                color: #ffffff;
                text-decoration: none;
            }
            hide{
                display:none;
            }
            .br-content{
                margin-left:20px;
                .home{
                    font-family: Open sans;
                    font-weight: 600;
                    text-transform:uppercase;
                }
            }
        }
        button{
                background-color: $ColorFondHeaderClair;
                height: 30px;
                width: 30px;
                border:none;
                @include border-radius(5px);
                color: #ffffff;
        }
        .top-account{
            position: absolute;
            top:65px;
            right:20px;
            bottom:auto;
            left:auto;
            z-index:2;
            background-color: #fff;
            padding: 10px 0;
            @include border-radius(10px);
            width: 200px;
            font-family: Open sans;
            font-weight: 300;
            @include box-shadow(0 4px 10px rgba(0, 0, 0, 0.5));
            a{
                display: block;
                line-height: 25px;
                color:#758697;
                padding:0 10px;
                text-decoration: none;
                &:hover{
                    font-weight: bold;
                    background-color: $ColorNavHover;
                    border-right:3px solid $ColorFondHeader;
                    border-left:3px solid $ColorFondHeader;
                }
            }
        }
    }
}
@media (min-width:1024px){
    .logo{
            width:$WidthSidebar;
            p{
                display:block;
            }
    }
    .header-content{
        .search{
            display:inline-block;
            vertical-align: top;
            overflow: hidden;
            width: 40%;
            .search-input{
                height: 30px;
                width:80%;
                border:none;
                @include border-radius(5px);
            }
            button{
                background-color: $ColorFondHeaderClair;
                height: 30px;
                width: 30px;
                border:none;
                @include border-radius(5px);
                color: #ffffff;
                &.search-close{
                    display:none;
                }
                &.search-responsive{
                    display:inline-block;
                }
            }
        }
    }
}

3 réponses


"le soucis qu'il y a est qu'au final, j'ai plus de ligne dans mon scss en version mobile first qu'en faisant l'inverse." développe, que veut-tu dire exactement ?

Ce que je voulais dire c'est qu'au niveau rendu de ligne, j'ai plus de ligne en first mobile qu'en faisait la version desktop puis mobile.

Est-ce que tu ne ferais pas la "connerie" (je dis ça parce que je l'ai moi-même faite) de répéter les mêmes propriétés pour la version mobile et la version desktop ?
Je m'explique : par exemple, si tu donnes une width: 150px à un élément pour ta version desktop et que cette with ne bouge pas en version mobile, pas besoin de la redéclarer. Tu me suis ?

J'espère avoir pu t'aider ;)