সিএসএস ব্যবহার করে পটভূমি চিত্রটি কীভাবে ফ্লিপ করবেন?


224

সিএসএস ব্যবহার করে যে কোনও পটভূমি চিত্র ফ্লিপ করবেন কীভাবে? এটা কি সম্ভব?

currenty আমি এই তীর ইমেজ ব্যবহার করছি background-imageএর liCSS এ

এখানে চিত্র বর্ণনা লিখুন

চালু: visitedআমার এই তীরটিকে অনুভূমিকভাবে ফ্লিপ করতে হবে। আমি তীর আরেকটি চিত্র তৈরি করতে এই কাজ করতে পারেন কিন্তু আমি শুধু জানতে কৌতুহলী এটা জন্য CSS ইমেজ টুসকি করা সম্ভব:visited


3
ভাল প্রশ্ন! এটি বিভিন্ন ক্ষেত্রে ব্যবহার করতে পারে।
অ্যাশব্রেড

@ আশব্রাদ - মন্তব্যের জন্য ধন্যবাদ। হ্যাঁ এটি অনেক পরিস্থিতিতে কার্যকর হতে পারে
জিতেন্দ্র ব্যাস

উত্তর:


234

আপনি এটি সিএসএস দিয়ে অনুভূমিকভাবে উল্টাতে পারবেন ...

a:visited {
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
    filter: FlipH;
    -ms-filter: "FlipH";
}

jsFizz

আপনি যদি এর পরিবর্তে উল্লম্বভাবে ফ্লপ করতে চান ...

a:visited {
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
    filter: FlipV;
    -ms-filter: "FlipV";
}

উত্স


1
আমি যদি কেবল ওয়েব-কিট ব্রাউজারগুলি বিবেচনা করি তবেই কেবল -webkit-transform: scaleX(-1);যথেষ্ট?
জিতেন্দ্র ব্যাস

@ জিতেন্দ্র এটি হওয়া উচিত, এছাড়াও নন-ভেন্ডর উপসর্গযুক্ত সম্পত্তি।
অ্যালেক্স

24
@ অ্যালেক্স - এতে একটি সমস্যা। এটি পাঠ্যটি <a>উল্টে দিচ্ছে যা ভিতরে রয়েছে এবং আমি কেবল ব্যাকগ্রাউন্ডের চিত্রটি ফ্লিপ করতে চাই। আপনি যে কোডটি দিচ্ছেন তা হ'ল পুরো উপাদানটি ফ্লিপ করা
জিতেন্দ্র ব্যাস

3
@ জিতেন্দ্র এটিকে দেখে মনে হচ্ছে না আপনি কেবল পটভূমির চিত্রটি সরিয়ে ফেলতে পারেন। আপনি আইকনটি spanএকটিতে রাখতে পারেন এবং তারপরে এটি ফ্লিপ করতে পারেন।
অ্যালেক্স

1
@ অ্যালেক্স - ঠিক আছে আমি যদি এই কোডটি ব্যবহার করি তবে <li><a href="#"><span>text</span></a></li>এটি টেক্সটটিও উল্টিয়ে দিচ্ছে তাই পাঠ্যকে সরিয়ে ফেলার জন্য আপনার দেওয়া কোডের বিপরীতে কী হবে যাতে আমি li a span { }সিএসএস
জিতেন্দ্র ব্যাস

86

অ্যালেক্সের উত্তরে উল্টানোর কোনও ক্লু দেখার পরেও আমি পুরো পটভূমি পুরোপুরি নয় কেবল পটভূমি ফ্লিপ করার উপায় পেয়েছি। আপনার উত্তরের জন্য ধন্যবাদ অ্যালেক্স

এইচটিএমএল

<div class="prev"><a href="">Previous</a></div>
<div class="next"><a href="">Next</a></div>

সিএসএস

.next a, .prev a {
    width:200px;
    background:#fff
}
 .next {
    float:left
}
 .prev {
    float:right
}
 .prev a:before, .next a:before {
    content:"";
    width:16px;
    height:16px;
    margin:0 5px 0 0;
    background:url(http://i.stack.imgur.com/ah0iN.png) no-repeat 0 0;
    display:inline-block 
}
 .next a:before {
    margin:0 0 0 5px;
    transform:scaleX(-1);
}

এখানে উদাহরণ দেখুন http://jsfiddle.net/qngrf/807/


7
@ জিতেন্দ্র আপনি কি জিসফিলের URL টি পরীক্ষা করতে পারেন? আমি মনে করি আপনি নিজের উত্তরে পোস্ট করেছেন একই কোড এটি + এটি কাজ করছে না ..
sachinjain024

3
আপনার পোস্ট করা জিএসফিডেল কোডটি কি পাঠ্যটি ফ্লিপ করছে? এটি কি আপনি চান, বা কেবল পটভূমি চিত্র?
মান্দজা

1
আপনার jsfiddle কোড মত একই নয়, আপনি দয়া করে এটি আপডেট করতে পারেন?
রই নমির

1
@ জিতেন্দ্রভ্যাস ২০১ 2016 সাল থেকে হ্যালো! আমি জাস্টফিডেল ইউআরএল ঠিক করার জন্য একটি সম্পাদনা করার পরামর্শ দিচ্ছিলাম কারণ এটি এখনও আপনার উত্তরের তুলনায় বিভিন্ন কোডের সাথে লিঙ্ক করে আছে - পোস্টটি সম্পাদনা করতে বা লিঙ্কটি সরাতে যত্নবান? ধন্যবাদ :)
পুরোপুরি নটলিজার্ডস

-webkit-transform:scaleX(-1);ক্রোমের জন্য
ওয়েসলি স্মিথ

19

ডাব্লু 3 স্কুল অনুসারে: http://www.w3schools.com/cssref/css3_pr_transform.asp

রূপান্তর বৈশিষ্ট্যটি ইন্টারনেট এক্সপ্লোরার 10, ফায়ারফক্স এবং অপেরাতে সমর্থিত। ইন্টারনেট এক্সপ্লোরার 9 একটি বিকল্প, -ms- রূপান্তর সম্পত্তি (2D রূপান্তর কেবল) সমর্থন করে। সাফারি এবং ক্রোম বিকল্প, -উইবকিট-ট্রান্সফর্ম সম্পত্তি (3 ডি এবং 2 ডি রূপান্তর) সমর্থন করে। অপেরা কেবলমাত্র 2 ডি রূপান্তরগুলিকে সমর্থন করে।

এটি একটি 2 ডি রূপান্তর, সুতরাং এটি ক্রোম, ফায়ারফক্স, অপেরা, সাফারি এবং আই 9 + + তে বিক্রেতার উপসর্গগুলির সাথে কাজ করা উচিত।

অন্যান্য উত্তর ব্যবহার করা হয়েছে: অভ্যন্তরীণ সামগ্রীতে উল্টানো থেকে বিরত রাখার আগে। আমি এটি আমার ফুটারে ব্যবহার করেছি (আমার শিরোনাম থেকে চিত্রটি উল্লম্বভাবে-মিরর করতে):

এইচটিএমএল:

<footer>
<p><a href="page">Footer Link</a></p>
<p>&copy; 2014 Company</p>
</footer>

সিএসএস:

footer {
background:url(/img/headerbg.png) repeat-x 0 0;

/* flip background vertically */
-webkit-transform:scaleY(-1);
-moz-transform:scaleY(-1);
-ms-transform:scaleY(-1);
-o-transform:scaleY(-1);
transform:scaleY(-1);
}

/* undo the vertical flip for all child elements */
footer * {
-webkit-transform:scaleY(-1);
-moz-transform:scaleY(-1);
-ms-transform:scaleY(-1);
-o-transform:scaleY(-1);
transform:scaleY(-1);
}

সুতরাং আপনি উপাদানটি উল্টানো এবং তারপরে তার সমস্ত শিশুদের পুনরায় উল্টানো শেষ করুন। নেস্টেড উপাদানগুলির সাথেও কাজ করে।


1
উত্তর করার জন্য ধন্যবাদ! এইটি আমার পক্ষে সবচেয়ে ভাল কাজ করেছে, যেহেতু অন্যরা হয় সমস্ত বাচ্চাদেরও খুব উল্টায় ফেলেছিল বা ফ্লিপটি উল্টানোর জন্য আরও জটিল কৌশল প্রয়োজন।
অস্টিন সালগাত

যদি এই উত্তরটি আপনার লক্ষ্যযুক্ত উপাদানটির অভ্যন্তরে সমস্ত কিছু ফ্লিপ করে তবে কেবল এটিকে অন্য উপাদানটিতে চাপ দিন। অন্য কথায়, যে সামগ্রীটি আপনি চান না তা কোনও নতুন <ডিভ> উপাদানটির মধ্যে ফ্লিপ করতে চান rap
ওনোসা


5

আপনি উভয় উল্লম্ব এবং অনুভূমিক টুসকি করতে একই সময়ে

    -moz-transform: scaleX(-1) scaleY(-1);
    -o-transform: scaleX(-1) scaleY(-1);
    -webkit-transform: scaleX(-1) scaleY(-1);
    transform: scaleX(-1) scaleY(-1);

এবং রূপান্তর সম্পত্তি সহ আপনি একটি দুর্দান্ত ফ্লিপ পেতে পারেন

    -webkit-transition: transform .4s ease-out 0ms;
    -moz-transition: transform .4s ease-out 0ms;
    -o-transition: transform .4s ease-out 0ms;
    transition: transform .4s ease-out 0ms;
    transition-property: transform;
    transition-duration: .4s;
    transition-timing-function: ease-out;
    transition-delay: 0ms;

প্রকৃতপক্ষে এটি পুরো উপাদানটিকে উল্টায় , কেবল নাbackground-image

SNIPPET

function flip(){
	var myDiv = document.getElementById('myDiv');
	if (myDiv.className == 'myFlipedDiv'){
		myDiv.className = '';
	}else{
		myDiv.className = 'myFlipedDiv';
	}
}
#myDiv{
  display:inline-block;
  width:200px;
  height:20px;
  padding:90px;
  background-color:red;
  text-align:center;
  -webkit-transition:transform .4s ease-out 0ms;
  -moz-transition:transform .4s ease-out 0ms;
  -o-transition:transform .4s ease-out 0ms;
  transition:transform .4s ease-out 0ms;
  transition-property:transform;
  transition-duration:.4s;
  transition-timing-function:ease-out;
  transition-delay:0ms;
}
.myFlipedDiv{
  -moz-transform:scaleX(-1) scaleY(-1);
  -o-transform:scaleX(-1) scaleY(-1);
  -webkit-transform:scaleX(-1) scaleY(-1);
  transform:scaleX(-1) scaleY(-1);
}
<div id="myDiv">Some content here</div>

<button onclick="flip()">Click to flip</button>


"একই সাথে উলম্ব এবং অনুভূমিক উভয়ই ফ্লিপ করুন" চিত্রটি 180 ডিগ্রি ঘুরিয়ে দেওয়ার মতো একই প্রভাব ফেলেছে, সূক্ষ্মভাবে কাজ করে এবং আমি যা খুঁজছিলাম তা
হ'ল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.