CSS கியூபிக் பெசியர் உருவாக்கி
ஈசிங் வளைவை வடிவமைக்க இரண்டு கைப்பிடிகளை இழுக்கவும், சீரான இயக்கத்திற்கு எதிராக ஒரு புள்ளியின் இயக்கத்தைக் கண்காணிக்கவும், மற்றும் cubic-bezier() மதிப்பை நகலெடுக்கவும்.
cubic-bezier(0.25, 0.1, 0.25, 1)வளைவு உங்கள் உலாவியிலேயே வரையப்படுகிறது. நீங்கள் இங்கு அமைக்கும் எதுவும் BroBroGo-விற்கு பதிவேற்றப்படாது.
அடிக்கடி கேட்கப்படும் கேள்விகள்
இரண்டு கைப்பிடிகள் மற்றும் நான்கு எண்கள் என்ன குறிக்கின்றன?
வளைவு கீழ்-இடதுபுறத்தில் (தொடக்கம்) இருந்து மேல்-வலதுபுறம் (முடிவு) வரை இயங்குகிறது, நேரம் இடமிருந்து வலமாகவும், முன்னேற்றம் மேலாகவும் செல்கிறது. இரண்டு கைப்பிடிகள் அதை வளைக்கும் கட்டுப்பாட்டு புள்ளிகள் ஆகும் — ஒவ்வொன்றிலும் ஒரு X மற்றும் Y உள்ளது, எனவே அவை ஒன்றாக cubic-bezier(x1, y1, x2, y2) ஆகும். X எப்போதும் 0 மற்றும் 1 க்கு இடையில் இருக்கும், அதே நேரத்தில் Y இயக்கத்தை எல்லை மீறச் செய்ய அல்லது நிலைபெறுவதற்கு முன்பு பின்வாங்கச் செய்ய மேலே அல்லது கீழே செல்லலாம்.
எனது CSS-இல் இந்த மதிப்பை எவ்வாறு பயன்படுத்துவது?
cubic-bezier()-ஐ நகலெடுத்து, நேரச் சார்பு (timing function) தேவைப்படும் இடங்களில் பயன்படுத்தவும் — transition-timing-function, animation-timing-function, அல்லது சுருக்க வடிவம், எ.கா. transition: transform 0.3s cubic-bezier(0.25, 0.1, 0.25, 1). ease, ease-in, ease-out மற்றும் ease-in-out ஆகிய முக்கிய வார்த்தைகள் நிலையான cubic-bezier வளைவுகள் மட்டுமே, எனவே அந்த முன்னமைவுகளில் ஒன்றைத் தேர்ந்தெடுப்பது அதன் பின்னால் உள்ள துல்லியமான மதிப்பைக் காட்டுகிறது.
இதனால் ஒரு bounce அல்லது elastic விளைவை உருவாக்க முடியுமா?
தனியாக முடியாது. ஒரு ஒற்றை cubic-bezier எதிர்பார்த்து பின்வாங்கவும் மற்றும் எல்லை மீறவும் (overshoot) முடியும் — "back" முன்னமைவுகள் சரியாக அதைச் செய்ய ஒரு கைப்பிடியை பெட்டிக்கு வெளியே இழுக்கின்றன — ஆனால் அது ஒரு வழியில் மட்டுமே நகர்ந்து பின்னர் நிலைபெற முடியும். Bounce மற்றும் elastic ஆகியவை திசையை பல முறை மாற்றுகின்றன, அதை ஒரு ஒற்றை cubic-bezier மூலம் வெளிப்படுத்த முடியாது; அதற்கு CSS keyframes அல்லது பல நிறுத்தங்களைக் கொண்ட linear() செயல்பாடு தேவை.