Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.11.2021, 21:43
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

А где сказано, что ::before нельзя выделять?
Простой пример
<head>
<style>
.text {
	font-size: 18px;
	margin-left: 2em;
}
p {
	margin-bottom:1em;
}
.anchor{
	position: relative;
	scroll-margin-top: 2rem;
}

.anchor::before {
	content: "#" attr(id);
	color: #888;
	font-family: Arial;
	font-size: 0.8em;
	/* font-weight: bold; */
	position: absolute;
	display: block;
	left: -2rem;
	top: -1em;
	padding-right: 0.5em;
}
</style>
</head>
<body>
<div class='text'>
<p>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
</p>	
<h3 id='Zagolovok' class='anchor'> Заголовок </h3>

<p>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
	Текст Текст Текст Текст Текст Текст Текст Текст <br>
</p>
</div>
</body>


Очень надо выделить '#Zagolovok'
Как быть то?
Ответить с цитированием
  #2 (permalink)  
Старый 23.11.2021, 23:04
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Оказывается сказано.
Сказано, что User Agent (то бишь браузер) МОЖЕТ позволить выделение псевдоэлементов ::before и ::after.

Раз может позволить, значит может и не позволить.
Вот эти агенты и стараются - не позволяют.

Печалька.
Ответить с цитированием
  #3 (permalink)  
Старый 23.11.2021, 23:53
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Хороший пример логической ошибки.
Когда вывод делается с нарушением 4го закона логики.

Просто ты воспринимаешь '#Zagolovok' как часть страницы которую можно отдельно выделить а на самом деле это стилевое свойство блока "Заголовок". К примеру если бы у блока "Заголовок" было бы стилевое свойство красной тени и желтого фона то так же было бы невозможно выделить только тень и фон что бы скопировать.
Ответить с цитированием
  #4 (permalink)  
Старый 24.11.2021, 06:54
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Сообщение от MallSerg
Просто ты воспринимаешь '#Zagolovok' как часть страницы которую можно отдельно выделить
Не как часть заголовка, а как просто некий текст.
Это не просто часть заголовка типа тени или подчеркивания. Это элемент (как везде говорится), хотя и псевдо.
Рисунки (img), тоже используются для стилевого оформления, однако их можно и выделить и скопипастить.
Проблема в том, что ни в одном месте разных документаций не сказано, что эти элементы нельзя выделять. Даже в спецификации CSS-2 для псевдоэлементов.
Единственное место нашел - спецификация CSS-4 для свойства user-selеct, где говорится, что UserAgent может позволить устанавливать для них и другие значения, кроме none.
Ответить с цитированием
  #5 (permalink)  
Старый 24.11.2021, 10:45
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

элемент === псевдоэлемент ?
Ответить с цитированием
  #6 (permalink)  
Старый 24.11.2021, 12:01
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Сообщение от MallSerg
элемент === псевдоэлемент ?
Chrome говорит, что ДА
Если посмотреть в средствах разработчика свойства псевдоэлемента, то у него есть такие свойства, как
nodeType = 1
tagName = '::before'
parentElement

Ну и многое другое, свойственное элементу.
Ответить с цитированием
  #7 (permalink)  
Старый 24.11.2021, 12:26
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

А почему их называют разными названиями?
Ответить с цитированием
  #8 (permalink)  
Старый 24.11.2021, 21:42
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Сообщение от MallSerg
А почему их называют разными названиями?
Может быть потому, что он не встроен в DOM и ПОКА недоступен.
ПОКА - потому, что ведутся какие то обсуждения, что бы дать к нему доступ из js. Вроде пока остановились на методе pseudo() для html элементов. Насколько полный набор свойств там будет - не понятно. Пока обсуждают, что должны быть свойства для целей анимации (не знаю, какие это)

Возвращаясь к предыдущей теме.
В одном документе написано, что браузер МОЖЕТ дать возможность выделять.
В другом документе, посвященном свойству content, сказано, что сгенерированное содержимое ДОЛЖНО быть выделяемым, доступным для поиска и речевых технологий.
https://drafts.csswg.org/css-content/#content-property

Слишком много народу все это разрабатывает и между собой согласовать все не могут. А уж с производителями браузеров тем более.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
О фрилансе (Личный опыт) free Оффтопик 105 18.08.2011 17:02
Zend и Pear для нуба mycoding Серверные языки и технологии 52 13.12.2010 18:32
Разбираем AjaxOOP eai Общие вопросы Javascript 41 04.11.2010 23:37
а где нельзя распологать link Артем125 (X)HTML/CSS 19 26.06.2010 00:10