Невидимая кнопка HTML CSS

Привет, я пытаюсь сделать невидимую кнопку (все еще функциональную и нажимаемую), потому что стили моих кнопок встроены в фон, и я не хочу их нарезать и делать все с самого начала.

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

Какие-либо предложения? Большое спасибо!


person user1880779    schedule 21.12.2012    source источник
comment
CSS -> фон: прозрачный?   -  person Vucko    schedule 21.12.2012
comment
вы можете использовать карту изображений и обработчики событий javascript, но я должен спросить, почему вы не хотите делать это, используя более семантическую разметку   -  person TommyBs    schedule 21.12.2012
comment
Можете ли вы предоставить код, который вы пробовали?   -  person topcat3    schedule 21.12.2012
comment
Вы хотите просто использовать фон для оформления кнопок? Действительно?   -  person Tom Walters    schedule 21.12.2012
comment
действительно, не самые лучшие планы.   -  person Scott Simpson    schedule 21.12.2012
comment
я пробовал с css opacity: 0;   -  person user1880779    schedule 21.12.2012
comment
Я знаю, что это не лучший план, я просто балуюсь всякими настройками. учится странным образом   -  person user1880779    schedule 21.12.2012


Ответы (5)


вы должны использовать следующие свойства для элемента button, чтобы сделать его прозрачным.

Прозрачная кнопка без текста

button {

    background: transparent;
    border: none !important;
    font-size:0;
}

Прозрачная кнопка с видимым текстом

button {

    background: transparent;
    border: none !important;
}​

и используйте абсолютный position для позиционирования элемента.

Например

у вас есть элемент кнопки под div. Используйте position: относительный для div и position: absolute для кнопки, чтобы расположить ее внутри div.

вот рабочий JSFiddle

вот обновленный JSFiddle, который отображает только текст с кнопки.

person Amyth    schedule 21.12.2012
comment
спасибо, можно ли как-то скрыть все (пока оно кликабельно), но по-прежнему отображать только текст кнопки? - person user1880779; 21.12.2012
comment
если вы хотите увидеть текст кнопки, просто удалите font-size:0; из приведенного выше кода. см. обновленный ответ. - person Amyth; 21.12.2012

Вы можете использовать CSS, чтобы скрыть кнопку.

button {
  visibility: hidden;
}

Если ваш <button> — это просто кликабельная область на изображении, зачем делать из нее кнопку? Вместо этого вы можете использовать элемент <map>.

person xiaoyi    schedule 21.12.2012

button {
    background:transparent;
    border:none;
    outline:none;
    display:block;
    height:200px;
    width:200px;
    cursor:pointer;
}

Укажите высоту и ширину по отношению к изображению на заднем плане. Это удаляет границы и цвет кнопки. Вам также может потребоваться позиционировать ее абсолютно, чтобы вы могли правильно разместить ее там, где вам нужно. Я не могу помочь вам, не опубликовав вас код

Чтобы сделать его действительно невидимым, вы должны установить outline:none; иначе в некоторых браузерах будет синий контур, и вам нужно установить display: заблокировать, если вам нужно щелкнуть по нему и установить для него размеры

person Mevin Babu    schedule 21.12.2012
comment
спасибо, можно ли как-то скрыть все (пока оно кликабельно), но по-прежнему отображать только текст кнопки? - person user1880779; 21.12.2012
comment
Чтобы сделать кнопку полностью невидимой, я установил курсор по умолчанию, поэтому даже при наведении курсора на кнопку курсор никогда не изменится на руку. Это было именно то направление, которое мне было нужно - спасибо! - person Isxek; 15.11.2013

HTML

<input type="button">

CSS

input[type=button]{
 background:transparent;
 border:0;
}
person Muhammad Usman    schedule 21.12.2012
comment
спасибо, можно ли как-то скрыть все (пока оно кликабельно), но по-прежнему отображать только текст кнопки? - person user1880779; 21.12.2012

Используйте CSS background:transparent; для вашей кнопки/div.

JSFiddle

person Vucko    schedule 21.12.2012