Только CSS-способ предотвратить разрыв после встроенного блока перед символом точки без тега вокруг периода - PullRequest
0 голосов
/ 16 сентября 2018

Я пытаюсь предотвратить перенос точки и других знаков пунктуации после встроенных блоков (с определенным классом) на следующую строку. Я хочу избежать обтекания встроенного блока и последующей пунктуации его в теге no-wrap, поскольку для этого необходимо заранее знать, где могут возникнуть все эти ситуации, а я этого не знаю. Я мог бы использовать JavaScript для внедрения этой структуры везде, где это необходимо, но я бы хотел избежать ее, если это возможно, так как моя интуиция заключается в том, что это может запутаться.

Требуется сохранить фон и отступы, поэтому display: contents не будет работать :

display: contents означает, что div не генерирует никаких блоков, поэтому его фон, границы и отступы не отображаются. Однако унаследованные свойства, такие как цвет и шрифт, оказывают ожидаемое влияние на дочерний элемент (элемент span).

Мой вопрос состоит из двух частей: можно ли это сделать без тега вокруг встроенного блока и знаков препинания, и, если да, то как?

Снимок экрана (из Firefox 62 на macOS 10.13.6) на случай, если различия в рендеринге маскируют проблему:

enter image description here

div {
  width: 309px;
  background: #EEE;
}

span.help-block {
  width: 111px;
  background: #DDD;
}

span.inline-code {
  display: inline-block;
  background: #CCC;
  color: #333;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  margin-top: -1px;
  padding-bottom: 1px;
  margin-bottom: -1px;
  font-family: Courier, Monaco, monospace;
  font-size: .9em;
}
<div>
  <span class="help-block">To escape commas, put quotes around the value, e.g., <span class="inline-code">a,b,c,"a,b,c"</span>. To escape those quotes, double them, e.g., <span class="inline-code">a,b,"a,""b"",c"</span>.</span>
</div>

https://jsfiddle.net/don01001100/ravjykdb/9/

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