Я много копался в Интернете и не нашел решения проблемы, которая кажется довольно простой, а именно перевода держателя, содержащего текст, и обеспечения плавного перемещения этого текста.
Вот является примером проблемы, вы можете видеть, что текст следует за держателем шаг за шагом, а не плавно:
[img]https:/ /i.sstatic.net/8roKZ.gif[/img]
Я также сделал демо-версию CodePen, чтобы увидеть эффект вживую:
https:/ /codepen.io/Durss/pen/ExgBzVJ?editors=1111
var angle = 0;
var radius = 100;
function renderFrame() {
requestAnimationFrame(renderFrame);
var cx = document.documentElement.clientWidth / 2;
var cy = document.documentElement.clientHeight / 2;
var div = document.getElementById("text");
var px = cx + Math.cos(angle) * radius;
var py = cy + Math.sin(angle) * radius;
angle += .001;
div.style.transform = "translate3d("+px+"px, "+py+"px, 0)";
}
renderFrame();
body {
background-color:black;
width:100%;
height:100%;
}
#text {
position:absolute;
left:0;
top:0;
border: 2px solid white;
background-color: #2f9da7;
padding: 10px;
border-radius:20px;
color: white;
font-weight: bold;
}
blah blah
По сути, проблема в том, что держатель перемещается на субпиксельном уровне, но позиция текста кажется округленной, что бы я ни пытался.
Я использовал Translate3d(), поэтому он использует рендеринг графического процессора, который фиксирует смещение держателя, но не его текстовое содержимое.
div.style.transform = "translate3d("+px+"px, "+py+"px, 0)";
Я видел здесь и там следующие «решения» CSS, которые мне не помогли:
text-rendering: geometricPrecision;
-webkit-font-smoothing: antialiased;
transform-style: preserve-3d;
backface-visibility: hidden;
-webkit-font-smoothing:none;
Подробнее здесь: https://stackoverflow.com/questions/658 ... ranslation
Как я могу сгладить тряску при 3D-переводе текста на основе CSS? ⇐ CSS
Разбираемся в CSS
-
Anonymous
1719244972
Anonymous
Я много копался в Интернете и не нашел решения проблемы, которая кажется довольно простой, а именно перевода держателя, содержащего текст, и обеспечения плавного перемещения этого текста.
Вот является примером проблемы, вы можете видеть, что текст следует за держателем шаг за шагом, а не плавно:
[img]https:/ /i.sstatic.net/8roKZ.gif[/img]
Я также сделал демо-версию CodePen, чтобы увидеть эффект вживую:
https:/ /codepen.io/Durss/pen/ExgBzVJ?editors=1111
var angle = 0;
var radius = 100;
function renderFrame() {
requestAnimationFrame(renderFrame);
var cx = document.documentElement.clientWidth / 2;
var cy = document.documentElement.clientHeight / 2;
var div = document.getElementById("text");
var px = cx + Math.cos(angle) * radius;
var py = cy + Math.sin(angle) * radius;
angle += .001;
div.style.transform = "translate3d("+px+"px, "+py+"px, 0)";
}
renderFrame();
body {
background-color:black;
width:100%;
height:100%;
}
#text {
position:absolute;
left:0;
top:0;
border: 2px solid white;
background-color: #2f9da7;
padding: 10px;
border-radius:20px;
color: white;
font-weight: bold;
}
blah blah
По сути, проблема в том, что держатель перемещается на субпиксельном уровне, но позиция текста кажется округленной, что бы я ни пытался.
Я использовал Translate3d(), поэтому он использует рендеринг графического процессора, который фиксирует смещение держателя, но не его текстовое содержимое.
div.style.transform = "translate3d("+px+"px, "+py+"px, 0)";
Я видел здесь и там следующие «решения» CSS, которые мне не помогли:
text-rendering: geometricPrecision;
-webkit-font-smoothing: antialiased;
transform-style: preserve-3d;
backface-visibility: hidden;
-webkit-font-smoothing:none;
Подробнее здесь: [url]https://stackoverflow.com/questions/65893763/how-can-i-smooth-out-jittery-css-based-text-3d-translation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия