Как сформировать символ из двух символов в CSS / HTML? - PullRequest
0 голосов
/ 12 сентября 2018

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

Например, я хочу объединить среднюю точку и O, чтобы получить точку внутри O. (Я знаю, что для этого есть один символ, но этопример).

enter image description here

MWE:

Desired result: &#664; <span style="font-size:200%">&#664;</span>

<div style="padding:20px">
  <span style="letter-spacing:-3px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-3px">&#183;O</span>
  <br>
  <span style="letter-spacing:-6px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-6px">&#183;O</span>
  <br>
  <span style="letter-spacing:-9px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-9px">&#183;O</span>
  <br>
  <span style="letter-spacing:-12px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-12px">&#183;O</span>
  <br>
  <span style="letter-spacing:-15px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-15px">&#183;O</span>
  <br>
  <span style="letter-spacing:-18px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-18px">&#183;O</span>
  <br>
  <span style="letter-spacing:-21px">&#183;O</span>
  <span style="font-size:200%; letter-spacing:-21px">&#183;O</span>
</div>

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018

Если вы ищете что-то подобное, это поможет,

.dot1{
  font-size:2em;
}
.dot2{
  font-size:1.23em;
}
.dot1::before{
  content:'.';
  position:absolute;
  top:-1px;
  left:35px;
}
.dot2::before{
  content:'.';
  position:absolute;
  top:15px;
  left:13px;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div class="DOT">
    <span class="dot2">O</span>
    <span class="dot1">O</span>
  </div>
</body>
</html>
0 голосов
/ 12 сентября 2018

HTML:

<span class="the-char">O</span>

CSS:

.the-char{
  position: relative;
}

.the-char::after{
  content: ".";
  line-height: 100%;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top:50%;
  transform: translateY(-75%);
  text-align: center;
}

/* change the font size to see result */
.the-char,
.the-char::after{
  font-size: 24px;
}

Проверьте это здесь, измените размер шрифта на главном символе и :: после того, как он будет пропорционально масштабирован https://jsfiddle.net/gLv9wamd/24/

Примечание: точка "."char выровнен по низу, поэтому вам придется выполнить некоторые настройки с помощью top и translateY , если вы хотите расположить его в центре основного символа.

0 голосов
/ 12 сентября 2018

Сделайте несколько div, как показано ниже, css ниже.

<div class="dots">
    <span class="dot1">.</span>
    <span class="dot2">O</span>
</div>

CSS будет

.dots {
    float: left;
    width: 12px;
    height: 17px;
    position: relative;
}
span.dot1 {
    position: absolute;
    width: 100%;
    height: 100%;
    line-height: 1;
    text-align: center;
}
span.dot2 {
    position: absolute;
    width: 100%;
    height: 100%;
}
...