Связывание гиперссылками изображения с помощью CSS

$1 не является обратной ссылкой в ​​регулярных выражениях Java, ни в любом другом вкусе, о котором я могу думать. Вы используете только $1, когда вы заменяете что-то:

String input="A12.3 bla bla my input";
input = StringUtils.replacePattern(
            input, "^([A-Z]\\d{2}\\.\\d).*$", "$1");
//                                            ^^^^

Существует некоторая дезинформация о том, что такое обратная ссылка, включая то место, которое я получил от этого фрагмента: простое java regex с backreference не работает .


Java смоделировал свой синтаксис regex после других существующих ароматов, где $ уже был метасимволом. Он привязывается к концу строки (или линии в многострочном режиме).

Аналогичным образом, Java использует \1 для обратных ссылок. Поскольку регулярные выражения являются строками, они должны быть экранированы: \\1.

С лексической / синтаксической точки зрения верно, что $1 можно было использовать однозначно (в качестве бонуса это предотвратило бы необходимость " зло избегало побега "при использовании обратных ссылок).

Чтобы соответствовать 1, который приходит после конца строки, регулярное выражение должно быть $\n1:

this line
1

Просто имеет смысл использовать знакомый синтаксис вместо изменения правил, большинство из которых пришло из Perl.

Первая версия Perl появилась в 1987 , которая намного раньше Java, которая была выпущена в [ 1995]

Я выкопал страницы man для Perl 1 , которые говорят:

Брекетинговая конструкция (\ ...\ ) также может быть использована, в этом случае \ соответствует подстроке digit 'th. (Вне рисунка всегда используйте $ вместо \ перед цифрой. Область действия $$\`, $& и $') продолжается до конца прилагаемого блока или eval string, или к следующему шаблону, совпадающему с подвыражениями. Нотация \ иногда работает вне текущего шаблона, но на него не следует полагаться.) У вас может быть столько скобок, сколько пожелаете. Если у вас более 9 подстрок, переменные $10, $11, ... относятся к соответствующей подстроке. Внутри шаблона \10, \11 и т. Д. Ссылаются на подстроки, если до обратной ссылки было по крайней мере столько левых парен. В противном случае (для обратной совместимости) \10 совпадает с \010, backspace и \11 совпадает с \011, вкладкой. И так далее. (\1 через \9 всегда обратные ссылки.)

blockquote>

5
задан ljs 22 September 2008 в 21:09
поделиться

9 ответов

Вы управляете дизайном и стилями с CSS, не поведением Вашего содержания.

Вы оказываетесь перед необходимостью использовать что-то как <a id="header" href="[your link]">Logo</a> и затем имейте блок CSS, такой как:

a#header {
  background-image: url(...);
  display: block;
  width: ..;
  height: ...;
}

Вы не можете вложить a div внутри <a> и все еще имейте 'действительный' код. <a> встроенный элемент, который не может по закону содержать элемент блока. Единственный не-JavaScript способ сделать ссылку с <a> элемент.

Можно вложить Ваш <a> тег внутри <div> и затем вставленный Ваше изображение :)

Если Вы не хотите это, Вы оказываетесь перед необходимостью использовать JavaScript для создания Вашего <div> активируемый по щелчку:

Document.getElementById("header").onclick = function() {
    window.location='...'; 
}
16
ответ дан 18 December 2019 в 05:37
поделиться

Связать полученное CSS фоновое изображение:

#header { 
display:block;

margin: 0px auto;
padding: 0px 15px 0px 15px;
border: none;
background: url(images/title.png) no-repeat bottom;
width: 1000px;
height: 100px;    
}    

<a id="header" href="blah.html" class="linkedImage">

Ключевая вещь здесь состоит в том, чтобы превратить тег привязки в элемент блока, таким образом, работа ширины и высота. Иначе это - встроенный элемент и проигнорирует высоту.

5
ответ дан 18 December 2019 в 05:37
поделиться

Это - действительно не вещь CSS. Вам все еще нужен Ваш тег, чтобы заставить это работать. (Но используйте CSS, чтобы удостовериться, что цвет границы изображения или удален или разработан к Вашей необходимой спецификации.)

<a href="index.html"><img src="foo" class="whatever" alt="foo alt" /></a>

Править: Беря исходное намерение (обновленный вопрос) во внимание, новый пример кода ниже:

<a href="index.html"><img id="header" alt="foo alt" /></a>

Вы находитесь все еще в мире HTML для ссылок, как описано другим отвечает на этот вопрос.

4
ответ дан 18 December 2019 в 05:37
поделиться

CSS для презентации только, не доволен. Ссылка довольна и должна быть помещена в HTML сайта с помощью стандарта <a href=""> тег. Можно затем разработать эту ссылку (или добавить изображение к ссылке), использование CSS.

0
ответ дан 18 December 2019 в 05:37
поделиться

Вы все еще создаете ссылки в HTML с (привязкой) теги точно так же, как нормальный. CSS не имеет ничего, что может указать, является ли что-то ссылкой на где-нибудь или нет.

Отредактируйте мои комментарии, и другие все еще подают заявку. Для разъяснения можно использовать JavaScript, чтобы заставить отделение действовать как ссылка:

<div id="header" onclick="window.location='http://google.com';">My Header</div>

Это не является действительно большим для удобства использования однако, поскольку люди без JavaScript включили, будет не мочь нажать это и иметь его действие как ссылка.

Кроме того, можно хотеть добавить a cursor: pointer; строка к Вашему CSS, чтобы дать отделению заголовка корректный курсор мыши для ссылки.

2
ответ дан 18 December 2019 в 05:37
поделиться
<a href="linkto_title_page.html" class="titleLink"></a>

затем в Вашей CSS

.titleLink {
  background-image: url(imageUrl);
}
2
ответ дан 18 December 2019 в 05:37
поделиться

Необходимо использовать элемент привязки, перенесенный в контейнер. На Вашей домашней странице Ваш заголовок обычно был бы h1, но затем на страницах содержания это, вероятно, изменится на отделение. У Вас должен также всегда быть текст в элементе привязки для людей без поддержки CSS и/или программ для чтения с экрана. Самый легкий способ скрыться, который является через CSS. Вот оба примеры:

<h1 id="title"><a title="Home" href="index.html>My Title</a></h1>
<div id="title"><a title="Home" href="index.html>My Title</a></div>

и CSS:

#title {
position:relative; /*Makes this a containing element*/
}
#title a {
background: transparent url(../images/logo.png) no-repeat scroll 0 0;
display:block;
text-indent:-9999px; /*Hides the anchor text*/
height:50px; /*Set height and width to the exact size of your image*/
width:200px;
}

В зависимости от остальной части Вашей таблицы стилей Вам, возможно, понадобится к adjus он, чтобы h1 заставил его выглядеть одинаково как отделение, проверьте Сброс CSS для возможных решений этого.

0
ответ дан 18 December 2019 в 05:37
поделиться

Попробуйте это - использует H1 в качестве места Вашей диаграммы вместо этого. Сохраненный мой зад снова и снова:

<h1 class="technique-six">
    CSS-Tricks
</h1>

h1.technique-six {
    width: 350px;
    padding: 75px 0 0 0;
    height: 0;
    background: url("images/header-image.jpg") no-repeat;
    overflow: hidden;
}

Доступный, и также твердый через браузеры IE6 и>. Вы могли также связать H1.

0
ответ дан 18 December 2019 в 05:37
поделиться

HTML является единственным способом создать ссылки - он определяет структуру и содержание веб-сайта.

CSS обозначает Каскадные таблицы стилей - он только влияет, как смотрят вещи.

Хотя обычно <a/>; тег является единственным способом создать ссылку, можно сделать a <div/> активируемый по щелчку с JavaScript. Я использовал бы jQuery:

$("div#header").click(function() {window.location=XXXXXX;});
0
ответ дан 18 December 2019 в 05:37
поделиться