2

ホバー時にリストの内容を変更したい、つまりローマ字を数値の 1、2、3 に変更したい

試してみli:hover li:hover:afterましたが、どちらも既存のコンテンツにコンテンツを追加します

ul {
  min-height: 30px;
  width: 180px;
  margin-left:-30px;
  list-style-type: none;
  counter-reset: chrome-counter;
}

li:before {
  content: counter(chrome-counter, lower-roman);
  padding: 1px 2px;
  margin-right: 0.2em;
  font-weight: bold;
}

li {
  margin: 2px 0;
  padding: 1px 4px;
  font: normal bold 18px/32px  ms-sans, geneva, sans-serif;
  display: inline-block;
  width: 40px;
  text-align: center;
  color: #FFF;
  counter-increment: chrome-counter;
}

li:hover {
  padding: 4px 8px;
  color: #333;
  /*content : '..';*/
  counter-reset : counter(chrome-counter, upper-roman);
  box-shadow: 0px 0px 4px #222;
  border-radius: 1.5em .5em / 2.5em 2em;
}

.cc1 {
  background-color: #FF6766;
  color: #FFF;
}
 <ul class="scheme">
      <li class="cc1" ></li>
     <li class="cc1" ></li>
     <li class="cc1" ></li>
</ul>

4

2 に答える 2

3

このセレクターを使用します。

li:hover:before {
    content: counter(chrome-counter, decimal);
}

ul {
  min-height: 30px;
  width: 180px;
  margin-left:-30px;
  list-style-type: none;
  counter-reset: chrome-counter;
}

li:before {
  content: counter(chrome-counter, lower-roman);
  padding: 1px 2px;
  margin-right: 0.2em;
  font-weight: bold;
}

li {
  margin: 2px 0;
  padding: 1px 4px;
  font: normal bold 18px/32px  ms-sans, geneva, sans-serif;
  display: inline-block;
  width: 40px;
  text-align: center;
  color: #FFF;
  counter-increment: chrome-counter;
}

li:hover {
  padding: 4px 8px;
  color: #333;
  /*content : '..';*/
  counter-reset : counter(chrome-counter, upper-roman);
  box-shadow: 0px 0px 4px #222;
  border-radius: 1.5em .5em / 2.5em 2em;
  }

li:hover:before {
  content: counter(chrome-counter, decimal);
}

.cc1 {
  background-color: #FF6766;
  color: #FFF;
}
<ul class="scheme">
      <li class="cc1" ></li>
     <li class="cc1" ></li>
     <li class="cc1" ></li>
</ul>

于 2014-10-18T06:24:02.327 に答える
3

:before 疑似要素に取り組んでいる場合は、すべての状態をその正確な要素に適用する必要があります...つまり、メイン要素にも :after 要素にもではなく、変更する必要がある要素に適用する必要があります。li:beforeあなたの場合:

ul {
  min-height: 30px;
  width: 180px;
  margin-left:-30px;
  list-style-type: none;
  counter-reset: chrome-counter;
}

li:before {
  content: counter(chrome-counter, lower-roman);
  padding: 1px 2px;
  margin-right: 0.2em;
  font-weight: bold;
}

li {
  margin: 2px 0;
  padding: 1px 4px;
  font: normal bold 18px/32px  ms-sans, geneva, sans-serif;
  display: inline-block;
  width: 40px;
  text-align: center;
  color: #FFF;
  counter-increment: chrome-counter;
}

li:hover {
  padding: 4px 8px;
  color: #333;
  /*content : '..';*/
  counter-reset : counter(chrome-counter, upper-roman);
  box-shadow: 0px 0px 4px #222;
  border-radius: 1.5em .5em / 2.5em 2em;
}

li:hover:before {
  content: counter(chrome-counter, upper-roman);
  padding: 1px 2px;
  margin-right: 0.2em;
  font-weight: bold;
}

.cc1 {
  background-color: #FF6766;
  color: #FFF;
}
 <ul class="scheme">
     <li class="cc1" ></li>
     <li class="cc1" ></li>
     <li class="cc1" ></li>
</ul>

コメントで要求されたように、HTML コンテンツに変更する例を次に示します。

ul {
  min-height: 30px;
  width: 180px;
  margin-left:-30px;
  list-style-type: none;
  counter-reset: chrome-counter;
}

li:before {
  content: counter(chrome-counter, lower-roman);
  padding: 1px 2px;
  margin-right: 0.2em;
  font-weight: bold;
}

li {
  margin: 2px 0;
  padding: 1px 4px;
  font: normal bold 18px/32px  ms-sans, geneva, sans-serif;
  display: inline-block;
  width: 40px;
  text-align: center;
  color: #FFF;
  counter-increment: chrome-counter;
}

li:hover {
  padding: 4px 8px;
  color: #333;
  /*content : '..';*/
  counter-reset : counter(chrome-counter, upper-roman);
  box-shadow: 0px 0px 4px #222;
  border-radius: 1.5em .5em / 2.5em 2em;
}

li:hover:before {
  content: "";
  padding: 1px 2px;
  margin-right: 0.2em;
  font-weight: bold;
}

li span {display: none}
li:hover span {display: initial}

.cc1 {
  background-color: #FF6766;
  color: #FFF;
}
 <ul class="scheme">
      <li class="cc1" ><span>#</span></li>
     <li class="cc1" ><span>0</span></li>
     <li class="cc1" ><span>*</span></li>
</ul>

于 2014-10-18T06:24:18.100 に答える