Адаптивная сетка иконок


Адаптивная сетка иконок

Рецепт создания адаптивной сетки иконок с описанием, размер которой зависит от размеров окна.

Адаптивная сетка иконокАдаптивная сетка иконок

HTML

<pre><ul>
    <li>
        <a href="#">
            <span></span>
            <h3>Squid voluptate</h3>
            <span>Fashion</span>
        </a>
    </li>
    <li>
        <a href="#">
            <span></span>
            <h3>Mixtape lo-fi</h3>
            <span>Design</span>
        </a>
    </li>
    <li>
        <a href="#">
            <span></span>
            <h3>Cosby sweater</h3>
            <span>Lifestyle</span>
        </a>
    </li>
    <li>
        <a href="#">
            <span></span>
            <h3>Commodo</h3>
            <span>Food</span>
        </a>
    </li>
    <li>
        <a href="#">
            <span></span>
            <h3>Bitters kitsch</h3>
            <span>Gadgets</span>
        </a>
    </li>
    <li>
        <a href="#">
            <span></span>
            <h3>Austin proident</h3>
            <span>Music</span>
        </a>
    </li>
</ul></pre>

CSS

<pre>@font-face {
    font-family: 'anyoldicon';
    src:url('../fonts/anyoldicon/anyoldicon.eot');
    src:url('../fonts/anyoldicon/anyoldicon.eot?#iefix') format('embedded-opentype'),
        url('../fonts/anyoldicon/anyoldicon.woff') format('woff'),
        url('../fonts/anyoldicon/anyoldicon.ttf') format('truetype'),
        url('../fonts/anyoldicon/anyoldicon.svg#anyoldicon') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* Основные стили */
.cbp-ig-grid {
    list-style: none;
    padding: 0 0 50px 0;
    margin: 0;
}

/* сброс выравниваний */
.cbp-ig-grid:before,
.cbp-ig-grid:after {
    content: " ";
    display: table;
}

.cbp-ig-grid:after {
    clear: both;
}

/* ячейка сетки */
.cbp-ig-grid li {
    width: 33%;
    float: left;
    height: 420px;
    text-align: center;
    border-top: 1px solid #ddd;
}

/* рамки, тени ... */
.cbp-ig-grid li:nth-child(-n+3){
    border-top: none;
}

.cbp-ig-grid li:nth-child(3n-1),
.cbp-ig-grid li:nth-child(3n-2) {
    box-shadow: 1px 0 0 #ddd;
}

/* стили для ссылок */
.cbp-ig-grid li > a {
    display: block;
    height: 100%;
    color: #47a3da;
    -webkit-transition: background 0.2s;
    -moz-transition: background 0.2s;
    transition: background 0.2s;
}

/* иконки */
.cbp-ig-icon {
    padding: 30px 0 0 0;
    display: block;
    -webkit-transition: -webkit-transform 0.2s;
    transition: -moz-transform 0.2s;
    transition: transform 0.2s;
}

.cbp-ig-icon:before {
    font-family: 'anyoldicon';
    font-size: 14em;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

.cbp-ig-icon-shoe:before {
    content: "\e000";
}

.cbp-ig-icon-ribbon:before {
    content: "\e001";
}

.cbp-ig-icon-milk:before {
    content: "\e002";
}

.cbp-ig-icon-whippy:before {
    content: "\e003";
}

.cbp-ig-icon-spectacles:before {
    content: "\e004";
}

.cbp-ig-icon-doumbek:before {
    content: "\e007";
}

/* элемент title */
.cbp-ig-grid .cbp-ig-title {
    margin: 20px 0 10px 0;
    padding: 20px 0 0 0;
    font-size: 2em;
    position: relative;
    -webkit-transition: -webkit-transform 0.2s;
    -moz-transition: -moz-transform 0.2s;
    transition: transform 0.2s;
}

.cbp-ig-grid .cbp-ig-title:before {
    content: '';
    position: absolute;
    background: #47a3da;
    width: 160px;
    height: 6px;
    top: 0px;
    left: 50%;
    margin: -10px 0 0 -80px;
    -webkit-transition: margin-top 0.2s;
    -moz-transition: margin-top 0.2s;
    transition: margin-top 0.2s;
}

.cbp-ig-grid .cbp-ig-category {
    text-transform: uppercase;
    display: inline-block;
    font-size: 1em;
    letter-spacing: 1px;
    color: #fff;
    -webkit-transform: translateY(10px);
    -moz-transform: -moz-translateY(10px);
    -ms-transform: -ms-translateY(10px);
    transform: translateY(10px);
    opacity: 0;
    -webkit-transition: -webkit-transform 0.3s, opacity 0.2s;
    -moz-transition: -moz-transform 0.3s, opacity 0.2s;
    -webkit-transition: transform 0.3s, opacity 0.2s;
}

.cbp-ig-grid li:hover .cbp-ig-category,
.touch .cbp-ig-grid li .cbp-ig-category {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
}

/* Стили для элементов при наведении мыши */

.cbp-ig-grid li > a:hover {
    background: #47a3da;
}

.cbp-ig-grid li > a:hover .cbp-ig-icon {
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
}

.cbp-ig-grid li > a:hover .cbp-ig-icon:before,
.cbp-ig-grid li > a:hover .cbp-ig-title {
    color: #fff;
}

.cbp-ig-grid li > a:hover .cbp-ig-title {
    -webkit-transform: translateY(-30px);
    -moz-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
}

.cbp-ig-grid li > a:hover .cbp-ig-title:before {
    background: #fff;
    margin-top: 80px;
}

@media screen and (max-width: 62.75em) {
    .cbp-ig-grid li {
        width: 50%;
    }

    /* сброс строк сетки */
    .cbp-ig-grid li:nth-child(-n+3){
        border-top: 1px solid #ddd;
    }

    .cbp-ig-grid li:nth-child(3n-1),
    .cbp-ig-grid li:nth-child(3n-2) {
        box-shadow: none;
    }

    .cbp-ig-grid li:nth-child(-n+2){
        border-top: none;
    }

    .cbp-ig-grid li:nth-child(2n-1) {
        box-shadow: 1px 0 0 #ddd;
    }
}

@media screen and (max-width: 41.6em) {
    .cbp-ig-grid li {
        width: 100%;
    }

    .cbp-ig-grid li:nth-child(-n+2){
        border-top: 1px solid #ddd;
    }

    .cbp-ig-grid li:nth-child(2n-1) {
        box-shadow: none
    }

    .cbp-ig-grid li:first-child {
        border-top: none;
    }
}

@media screen and (max-width: 25em) {
    .cbp-ig-grid {
        font-size: 80%;
    }

    .cbp-ig-grid .cbp-ig-category {
        margin-top: 20px;
    }
}</pre>

Источник урока: ruseller.com

Previous Как сверстать шаблона сайта из PSD в HTML и CSS
Next Манипуляции с файлом .htaccess

Suggested Posts

Градиентный текст

WooCommerce — свой магазин?

18 советов и техник HTML5(Часть2)

Знаменитая игра Duck Hunt с помощью CSS3

Модуль для OpenCart OCFilter v4.7.5

Оформление списка HTML5 с использованием иконок WebFonts