Solution 1 :

.button {
  border: 1px solid #583F99;
  width: 180px;
  height: 40px;
  border-radius: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: .4s;
}

.icon {
  border-radius: 40px;
  display: block;
  width: 20px;
  height: 20px;
  padding: 10px;
  background-color: #583F99;
  transition: .4s;
}

.title {
  color: #583F99;
  font-family: sans-serif;
  font-size: 130%;
  flex: 1;
  text-align: center;
}

.button:hover {
  background-color: #583F99;
}

.button:hover .title {
  color: white;
}

.button:hover .icon {
  transform: rotate(-90deg);
}
<div class="button">
  <span class="title">read more</span>
  <img class="icon" src="data:image/svg+xml,%3Csvg fill='%23ffffff'  width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z'/%3E%3C/svg%3E">
</div>

Solution 2 :

Here it is. If you have any questions, please tell me so I can explain it to you.

.button {
  height: 22px;
  border: 1px solid rgb(128, 0, 128);
  display: inline-flex;
  align-items: center;
  border-radius: 15px;
  overflow: hidden;
  cursor: pointer;
}

.button:hover {
  background-color: rgb(128, 0, 128);
}

.button__text {
  color: rgb(128, 0, 128);
  padding: 5 10px;
  margin-right: 5px;
}

.button:hover .button__text {
  color: rgb(255, 255, 255);
}

.button__chevron_down_icon {
  background-color: rgb(128, 0, 128);
  color: rgb(255, 255, 255);
  width: 22px;
  height: 22px;
  border-top-left-radius: 50%;
  border-bottom-left-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.button__chevron_down_icon>svg+svg {
  display: none;
}

.button:hover .button__chevron_down_icon>svg {
  display: none;
}

.button:hover .button__chevron_down_icon>svg+svg {
  display: block;
}
<div class="button">
  <div class="button__text">read more</div>
  <div class="button__chevron_down_icon">
    <svg  fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
    </svg>
    <svg  fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5" />
    </svg>

  </div>
</div>

Problem :

enter image description here

I’m trying to make this button that have a circle shape inside and contains this arrow icon.

My idea is when you hover it, the whole button became colored inside

<div class="col-12">
  <div style="border: 1px solid #583F99; width: 180px; height: 40px; border-radius: 30px;">
    <span class="class justify-content-center" style="">read more</span>
    <div style="border: 1px solid #583F99; border-radius: 30px; width: 38px; height: 38px; position: absolute;">
      <img src="img/arrow.svg" style="width: 18px;" />
    </div>
  </div>
</div>

Comments

Comment posted by help center

Please visit

By