दिलचस्प पोस्ट
आपका पसंदीदा "प्रोग्रामर" कार्टून क्या है? जावास्क्रिप्ट डोम हेरफेर के बाद इंटरनेट एक्सप्लोरर में डॉम रीफ्रेश को मजबूर करना प्राइफाइड डेटासेट में स्थैतिक और गतिशील कॉलम फ़ायरबग <tobody> <table> क्यों जोड़ता है? मैं कैसे PHP में एक सरणी में एक अल्पविराम सीमांकित स्ट्रिंग विभाजित कर सकते हैं? बाहरी जावास्क्रिप्ट फाइल से पीएचपी वर्जन एक्सेस करें मैं कैसे इकाई परीक्षण थ्रेडेड कोड चाहिए? बाहरी ".js" फ़ाइलों का उपयोग कैसे करें कोड jsFiddle में काम करते हैं लेकिन ब्राउज़र में नहीं एक 64 बिट ऑपरेटिंग सिस्टम पर 32 बिट प्रक्रिया का उपयोग कितना मेमोरी कर सकता है? वर्तमान गतिविधि से रूट दृश्य प्राप्त करें गिट को एक फाइल के बारे में "भूल" कैसे करें जिसे ट्रैक किया गया था लेकिन अब गिटग्नोर में है? मैं एरेज़ को & a = & b के रूप में क्यों नहीं दे सकता? क्या करता है ** (डबल स्टार / तारांकन) और * (स्टार / तारांकन) मापदंडों के लिए करते हैं? उल्का के लिए एनजीएन कॉन्फ़िगरेशन की सिफारिश की गई

कैसे स्वचालित रूप से फसल और एक छवि केंद्र केंद्रित करने के लिए

किसी भी मनमानी छवि को देखते हुए, मैं छवि के केंद्र से एक वर्ग को फसल करना चाहता हूं और उसे किसी दिए गए वर्ग के भीतर प्रदर्शित करना चाहता हूं।

यह प्रश्न इसके समान है: सीएसएस एक छवि का आकार बदल गया और क्रॉप किया गया , लेकिन मैं छवि के आकार को नहीं जानता इसलिए मैं सेट हाशिएन्स का उपयोग नहीं कर सकता

वेब के समाधान से एकत्रित समाधान "कैसे स्वचालित रूप से फसल और एक छवि केंद्र केंद्रित करने के लिए"

एक समाधान एक पृष्ठभूमि छवि का उपयोग करने के लिए है जो कि एक आयाम के भीतर केंद्रित है, जो कि क्रॉप आयामों के आकार में है।


मूल उदाहरण

.center-cropped { width: 100px; height: 100px; background-position: center center; background-repeat: no-repeat; } 
 <div class="center-cropped" style="background-image: url('http://placehold.it/200x200');"> </div> 

मैं एक शुद्ध सीएसएस समाधान के लिए img टैग (पृष्ठभूमि छवि रास्ता नहीं) का उपयोग कर देख रहा था।

मुझे http://jonathannicol.com/blog/2014/06/16/centre-crop-thumbnails-with-css/ पर लक्ष्य प्राप्त करने का यह शानदार तरीका मिला:

 .thumbnail { position: relative; width: 200px; height: 200px; overflow: hidden; } .thumbnail img { position: absolute; left: 50%; top: 50%; height: 100%; width: auto; -webkit-transform: translate(-50%,-50%); -ms-transform: translate(-50%,-50%); transform: translate(-50%,-50%); } .thumbnail img.portrait { width: 100%; height: auto; } 

यह @ नाथन रेडब्लूर के उत्तर के समान है लेकिन यह चित्र चित्रों के लिए भी अनुमति देता है

मेरे लिए आकर्षण की तरह काम करता है छवि के बारे में जानने की एकमात्र चीज़ यह है कि क्या यह पोर्ट्रेट या परिदृश्य है। पोर्ट्रेट वर्ग को सेट करने के लिए इसलिए मुझे इस हिस्से के लिए जावास्क्रिप्ट का थोड़ा सा इस्तेमाल करना पड़ा।

उदाहरण के साथ img टैग लेकिन background-image बिना

यह समाधान img टैग को बरकरार रखता है ताकि हम छवि को सहेजने के लिए खींचें या राइट-क्लिक करने की क्षमता खो बैठें, लेकिन background-image बिना सिर्फ सीएसएस के साथ केंद्र और फसल।

बहुत ही हल्के चित्रों के अलावा पहलू अनुपात ठीक बनाए रखें (लिंक की जांच करें)

(कार्रवाई में देखें)

मार्कअप

 <div class="center-cropped"> <img src="http://placehold.it/200x150" alt="" /> </div> 

सीएसएस

 div.center-cropped { width: 100px; height: 100px; overflow:hidden; } div.center-cropped img { height: 100%; min-width: 100%; left: 50%; position: relative; transform: translateX(-50%); } 

इसे आज़माएं: अपनी छवि क्रॉप आयाम सेट करें और अपने सीएसएस में इस रेखा का प्रयोग करें:

 object-fit: cover; 

मैंने @ Russ और @ एलेक्स के उत्तरों का उपयोग करके एक कोणीय निर्देश निर्देश बनाया

2014 और उससे आगे में दिलचस्प हो सकता है: पी

एचटीएमएल

 <div ng-app="croppy"> <cropped-image src="http://placehold.it/200x200" width="100" height="100"></cropped-image> </div> 

js

 angular.module('croppy', []) .directive('croppedImage', function () { return { restrict: "E", replace: true, template: "<div class='center-cropped'></div>", link: function(scope, element, attrs) { var width = attrs.width; var height = attrs.height; element.css('width', width + "px"); element.css('height', height + "px"); element.css('backgroundPosition', 'center center'); element.css('backgroundRepeat', 'no-repeat'); element.css('backgroundImage', "url('" + attrs.src + "')"); } } }); 

बेला लिंक

इसे इस्तेमाल करे:

 #yourElementId { background: url(yourImageLocation.jpg) no-repeat center center; width: 100px; height: 100px; } 

ध्यान रखें कि width और height केवल तभी काम करेगी यदि आपके DOM तत्व का लेआउट है (एक ब्लॉक प्रदर्शित तत्व, जैसे एक div या img )। यदि ऐसा नहीं है (उदाहरण के लिए, एक अवधि), तो display: block; जोड़ें display: block; सीएसएस नियमों के लिए यदि आपके पास सीएसएस फ़ाइलों तक पहुंच नहीं है, तो तत्वों में शैलियों की इनलाइन ड्रॉप करें।

एक और तरीका है जिससे आप छवि को केंद्रित कर सकते हैं:

 .thumbnail{position: relative; overflow: hidden; width: 320px; height: 640px;} .thumbnail img{ position: absolute; top: -999px; bottom: -999px; left: -999px; right: -999px; width: auto !important; height: 100% !important; margin: auto; } .thumbnail img.vertical{width: 100% !important; height: auto !important;} 

आपको केवल एक चीज की जरूरत है, ऊर्ध्वाधर छवियों के लिए "ऊर्ध्वाधर" वर्ग को जोड़ना है, आप इसे इस कोड के साथ कर सकते हैं:

 jQuery(function($) { $('img').one('load', function () { var $img = $(this); var tempImage1 = new Image(); tempImage1.src = $img.attr('src'); tempImage1.onload = function() { var ratio = tempImage1.width / tempImage1.height; if(!isNaN(ratio) && ratio < 1) $img.addClass('vertical'); } }).each(function () { if (this.complete) $(this).load(); }); }); 

नोट: "महत्वपूर्ण" का उपयोग आईएमजी टैग पर संभावित चौड़ाई, ऊँचाई विशेषताओं को ओवरराइड करने के लिए किया जाता है।