The appearance of the circle in Safari is rough and lacks smoothness

My circle animation works perfectly on Google Chrome, but when I switch to Safari the edges appear faded and blurry. I tried adding "webkit" to fix it, but had no luck. Is there a compatibility issue with Safari and CSS animations? Here is my code:

Snapshot of how it looks in chrome https://gyazo.com/91a2faecb48703c4ed7e47bc3035b802

Snapshot of how it looks in Safari https://gyazo.com/0507f9bb35eb2e0fd21b620d3ba44538

Html

 <ul id="bubbles">
        <li id="firstCircle"></li>
        </ul>

CSS

 #bubbles li{
              position: relative;
                list-style: none;
                display: block;
                border-radius: 100%;
              animation: fadeAndScale 15s ease-in infinite;
              -webkit-animation: fadeAndScale 15s ease-in infinite;
              -ms-animation: fadeAndScale 15s ease-in infinite;
              -moz-animation: fadeAndScale 15s ease-in infinite;
              -o-animation: fadeAndScale 15s ease-in infinite;
          }

          #bubbles li:nth-child(1){
              width: 100px;
              height: 100px;
              background-color: red;
          }
          @keyframes fadeAndScale{
              0%{
                  z-index: 100;
                  transform: scale(0)
              }
              100%{
                  z-index: 0;
                  transform: scale(50);
              }
          }
          @-webkit-keyframes fadeAndScale{
              0%{
                  z-index: 100;
                  -webkit-transform: scale(0)
              }
              100%{
                  z-index: 0;
                  -webkit-transform: scale(50);
              }
          }

Answer №1

In order to create a dynamic effect, I would opt for utilizing a circular dot SVG image and then utilize CSS for animating the scaling.

Update: The following is the approach taken by that particular website...

.indiez-fow-bg-wrapper {
  background: -webkit-linear-gradient(45deg, #1C96FF 0%, #00FFC9 100%);
  background: linear-gradient(45deg, #1C96FF 0%, #00FFC9 100%);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
  margin-top: 0;
  top: 0;
  left: 0;
  position: absolute;
}

@media (max-width: 600px) {}

.indiez-fow-bg-wrapper>div {
  will-change: transform;
  width: 800px;
  height: 800px;
  position: absolute;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  margin-top: -250px;
  margin-left: -250px;
}

.indiez-fow-bg-wrapper>div:not(._touch) {
  border-radius: 50%;
}

@media (max-width: 600px) {
  .indiez-fow-bg-wrapper>div {
    width: 300px;
    height: 300px;
    margin-top: -150px;
    margin-left: -150px;
  }
}

...
<div class="indiez-fow-bg-wrapper  _animate">
  <div class="__violet ">

  </div>
  <div class="__red ">

  </div>
  ... 
</div>

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

Utilizing Bootstrap's popover feature in conjunction with dynamic content load using jQuery's .on

I am facing an issue with my Yii application that utilizes cgridview and ajax pagination. The common problem encountered is the loss of binding with jQuery after paginating, causing functionalities like popovers to stop working. My current popover functio ...

Best Practices for Variable Initialization in Stencil.js

Having just started working with Stencil, I find myself curious about the best practice for initializing variables. In my assessment, there seem to be three potential approaches: 1) @State() private page: Boolean = true; 2) constructor() { this.p ...

Creating a customized design for your jQuery UI modal dialog box using CSS

I recently had to customize the jqueryui modal dialog in order to meet the standards set by my company. Currently, I am facing a cross-browser issue with the float and width of the input labels. You can view the sample website here: http://inetwebdesign. ...

Error occurred in the middle of processing, preventing the headers from being set

I created a custom authentication middleware, but encountered an error. I'm puzzled about what's going wrong because I expected the next() function to resolve the issue? app.use(function(req, res, next){ if(req.user){ res.local ...

Ways to Soothe Long Polling

Currently, I am developing a basic chat feature using AJAX in a function that triggers a setTimeout call to itself upon successful execution. This occurs approximately every 30 seconds. While this setup serves its purpose, I am seeking a more immediate not ...

Designing a webpage layout with DIV elements that span across multiple rows

I am attempting to create a layout that features two columns, with the right column spanning two rows. I am looking to accomplish this using only DIV tags: +-----------+-----------+ + + + + + + +-----------+ ...

JavaScript Money Exchange

Can currency be recalculated using JavaScript or jQuery? For instance: <div id="price">$99.00</div> Could become <div class="gbp" id="price">£63.85</div> If a class of "GBP" was added to the div tag? ...

Using React links in combination with dangerouslySetInnerHTML to render content is a powerful and flexible technique

I am in the process of creating a blog page for my react application. The content on this page is retrieved from a CMS and contains raw HTML code that I display by using: <div dangerouslySetInnerHTML={{__html: this.state.content}} /> However, when I ...

How can JavaScript be used to delete cache and cookies?

Looking for a solution to clear cache and cookies via JavaScript? I'm currently using Selenium for testing in Microsoft Edge, but the tests are running in the same session as the previous run. I need each test to run in a clean session every time. Unf ...

Alert: An invalid value of `false` was received for the non-boolean attribute `className`. To properly write this to the DOM, please provide a string instead: className="false" or use a different

While many have tried to address this issue before, none of their solutions seem to work for me... The error I am encountering is: If you want to write it to the DOM, pass a string instead: className="false" or className={value.toString()}. If ...

Error in Jquery validation caused by incorrect file extension type

Within my HTML form, I have multiple inputs set up for validation purposes: <form role="form" id="addForm" method="post" enctype="multipart/form-data"> <div class="form-group"> <label for="userName">U ...

Tips for creating a clickable title that directs to a URL

I am currently using the "Import All" WordPress plugin to bring in an Excel file containing numerous hyperlinks that point to specific Custom Post Types and a designated field. These hyperlinks are separated by commas from the corresponding title. For exam ...

Is there a way to use jQuery to load a ul from a different webpage into a div?

Progress is being made as I work on making two nearly identical pages function seamlessly together. One page features an alphabet list, and when a letter is selected, the other page filters results (last names from a PHP database query) and displays them o ...

Geolocation API for determining altitude

When using the geolocation API, I am experiencing no issues with latitude and longitude. However, I have encountered a problem with Altitude. For instance, when I retrieve the coordinates for my current location using my mobile phone with integrated GPS, i ...

Refreshing ng-model within a radio input

Currently, I am utilizing a jQuery library for radio/checkbox components. Although I am aware that combining jQuery with Angular is not ideal, the decision to use this particular library was out of my control and cannot be altered. One issue I have encount ...

Ensuring the accuracy of content generated dynamically using the jQuery Validate plugin

I am struggling to find a solution for my specific issue, despite knowing that others have likely faced the same question. I have a form where users can add multiple lines, each containing 4 input boxes, and delete them if they are not needed. Currently, I ...

Warning: Neglecting to handle promise rejections is now considered outdated and discouraged

I encountered this issue with my code and I'm unsure how to resolve it. DeprecationWarning: Unhandled promise rejections are deprecated. In the future, unhandled promise rejections will terminate the Node.js process with a non-zero exit code. This ...

Utilizing JQuery to Modify XML File Content

Looking to retrieve data from an XML file using jQuery and display it in a textbox? If you want changes made in the textbox to reflect back in the original XML file, there are ways to achieve this. Here is some code that can help: <html><head&g ...

Every change to the data in Nuxt.js triggers a form submission

This is my form: <template> <div class="flex flex-col mt-[5rem] gap-4 p-4 items-center max-w-4xl mx-auto"> <form id="inquiry" class="flex flex-col gap-4 w-full" @submit.prevent="submitHand ...

What is the best way to switch between components when clicking on them? (The component displayed should update to the most recently clicked one

I am facing a challenge in rendering different components based on the navbar text that is clicked. Each onclick event should trigger the display of a specific component, replacing the current one. I have 5 elements with onclick events and would like to re ...