Положение изображения Sprite с помощью CSS на кнопке - PullRequest
1 голос
/ 27 марта 2012

Я пытаюсь сделать что-то похожее на это изображение ниже с помощью CSS для создания кнопок, а затем спрайт изображения, чтобы показать центральное содержимое кнопки.

enter image description here

Вотдемонстрация кода, который у меня есть, у меня возникли проблемы с правильным размещением изображений спрайтов.Любая помощь в улучшении этого CSS, чтобы он выглядел больше как мое изображение выше, было бы здорово.Я думаю, что реальная структура HTML также может быть улучшена?

http://dabblet.com/gist/2212456

HTML

<div class="switch-wrapper">
    <div class="switcher left selected">
        <span id="left">...</span>
    </div>
    <div class="switcher right">
        <span id="right">...</span>
    </div>
</div>

CSS

/* begin button styles */

.switch-wrapper{
    width:400px;
    margin:220px;
}

.switcher {
    background:#507190;
    vertical-align: bottom;
    position: relative;
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom;
    box-shadow: 1px 1px 1px rgba(0,0,0,.3);
}
#left{
    background-image: url(http://www.codedevelopr.com/assets/images/switcher.png);
    background-position: -0px -0px;
}


#right{
    background-image: url(http://www.codedevelopr.com/assets/images/switcher.png);
    background-position: -0px -17px;
}


.left{
    border-radius: 6px 0px 0px 6px;
    width: 45px; height: 38px;

}
.right{
    border-radius: 0 6px 6px 0;
    width: 45px; height: 38px;
    margin: 0 0 0 -6px

}

.switcher:hover,
.selected {
    background: #27394b;
    box-shadow: -1px 1px 0px rgba(255,255,255,.4),
     inset 0 4px 5px rgba(0,0,0,.6),
      inset 0 1px 2px rgba(0,0,0,.6);
}

.switcher::after {
    content: ' ';
    width: 100%;
    height: 100%;
    position: absolute;
    top: -1px;
    left: -1px;
    border: solid 0px #1B1B1B;
    border-radius: 6px;


}

Ответы [ 2 ]

1 голос
/ 27 марта 2012
  1. Блок и встроенный метод

http://dabblet.com/gist/2213271

  1. Абсолютный метод

http://dabblet.com/gist/2213121

0 голосов
/ 27 марта 2012

Привет, вы не определили абсолютную позицию в # влево & # вправо , поэтому я управлял спрайтовыми изображениями через абсолютное позиционирование.

вы можете настроить свои изображениячерез изменения в позиции сверху, слева, снизу, справа, что вам нужно ....

Вот ваш обновленный css: -

.switch-wrapper{
    width:400px;
    margin:220px;
}

.switcher {
    background:#507190;
    vertical-align: bottom;
    position: relative;
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom;
    box-shadow: 1px 1px 1px rgba(0,0,0,.3);
}
#left{
    background-image: url(http://www.codedevelopr.com/assets/images/switcher.png);
    background-position: -0px -0px;
    background-position: 16px -16px;
    height: 15px;
    left: 15px;
    position: absolute;
    top: 12px;
}


#right{
    background-image: url(http://www.codedevelopr.com/assets/images/switcher.png);
    background-position: -0px -17px;
    background-position: 0 -29px;
    left: 15px;
    position: absolute;
    top: 13px;
}


.left{
    border-radius: 6px 0px 0px 6px;
    width: 45px; height: 38px;

}
.right{
    border-radius: 0 6px 6px 0;
    width: 45px; height: 38px;
    margin: 0 0 0 -6px

}

.switcher:hover,
.selected {
    background: #27394b;
    box-shadow: -1px 1px 0px rgba(255,255,255,.4),
     inset 0 4px 5px rgba(0,0,0,.6),
      inset 0 1px 2px rgba(0,0,0,.6);
}

.switcher::after {
    content: ' ';
    width: 100%;
    height: 100%;
    position: absolute;
    top: -1px;
    left: -1px;
    border: solid 0px #1B1B1B;
    border-radius: 6px;


}

или посмотрите живую демонстрацию: - http://dabblet.com/gist/2213048

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