ویژگی transform-style تعیین می کند که فرزندان یک عنصر در فضای سه بعدی عنصر نگهدارنده یا همان پدرشان بمانند یا حالت دو بعدی داشته باشند.
فرض کنید می خواهید فرزندان عنصری که در فضای سه بعدی می باشد را نیز در فضای سه بعدی به حرکت در بیاورید. این ویژگی حالت سه بعدی عنصر پدر را برای فرزندان نیز حفظ می کند (preserve).
منظور از فرزندان فقط فرزندان مستقیم عنصر پدر هستند و نه نوه ها و نتیجه ها :)
این ویژگی یکی از مقادیر preserve-3d و flat را می پذیرد. مقدار preserve-3d به فرزندان عنصر نیز اجازه می دهد تا در فضای سه بعدی قرار بگیرند. اما مقدار flat باعث می شود تا فرزندان عنصر به حالت تخت (دو بعدی) در صفحه عنصر پدر رسم شوند, یعنی قادر به حرکت و جای گرفتن در راستای محور Z نخواهند بود.
نمونه زیر را در نظر بگیرد:
<div class="container">
<div class="element">
<img src="assets.css-tricks.ir/images/skull-love.png" alt="">
</div>
</div>
عنصری که کلاس element دارد در فضای سه بعدی قرار دارد و در این فضا چرخانده می شود. حال می خواهیم عنصر img که فرزند مستقیم آن است, در فضای سه بعدی باقی بماند و قادر به چرخش سه بعدی باشد پس داریم:
.container {
/* فعال کردن فضای سه بعدی */
perspective: 800px;
}
.element {
width: 100%;
height: 400px;
background-color: rgba(255, 255, 255, 0.8);
/* transform */
transform: rotateY(50deg);
/* به فرزندان مستقیم این عنصر اجازه می دهد تا در فضای سه بعدی حرکت کنند */
transform-style: preserve-3d;
}
.element img {
transform: rotateX(-30deg);
}
مراقب باشید
لیست زیر ویژگی هایی با مقادیر خاص را نشان می دهد که اگر برای عنصری تعیین شوند, مرورگر باید تمام فرزندان آن عنصر را در حالت دو بعدی و تخت رسم کند و الا نمی تواند این ویژگی ها را برای عنصر تنظیم کند. پس در نتیجه اگر یکی از موارد زیر برای یک عنصر تعیین شود دیگر نمی توان از ویژگی transform-style برای آن عنصر استفاده کرد, چون این ویژگی ها, ویژگی transform-style را باز نویسی می کنند و تاثیر آن را از بین می برند:
overflowبا هر مقداری به غیر ازvisiblefilterبا هر مقداری به غیر ازnoneclipبا هر مقداری به غیر ازautoclip-pathبا هر مقداری به غیر ازnoneisolationبا مقدارisolate.mask-imageبا هر مقداری به غیر ازnonemask-box-sourceبا هر مقداری به غیر ازnonemix-blend-modeبا هر مقداری به غیر ازnormal
در دموی زیر با تغییر مقدار این ویژگی به flat تاثیر این ویژگی را مشاهده کنید:
See the Pen transform-style by Mojtaba Seyedi (@seyedi) on CodePen.
برای درک بهتر دمو به مطالب مربوط به transform و transform-origin و perspective مراجعه کنید.





عالی بود…با آرزوی توفیق روز افزون برای شما….انشالله مستدام باشین و به کار آموزشیتون ادامه بدهید…
ممنونم از شما، موفق باشید.
واقعا سایتتون محشره
یه هفته دنبال اموزش css بودم و بالاخره یکی از بهترین سایت هاشو پیدا کردم.
سلام چگونه میتوان در این صفحه :https://chrome.google.com/webstore/detail/linkednotes/kmmbfbgimpbcaaeibgnijiflciagmiha
کادر پایین صفحه : مرتبط
اسکرول بار ایجاد کرد