दिलचस्प पोस्ट
एंड्रॉइड एप्लिकेशन में मैनिफ़ेस्ट अनुमति जोड़ने के लिए कैसे? एक ASMX फ़ाइल आउटपुट JSON को कैसे जाने दें सिक्सिक क्लोजर कैसे काम करते हैं? चुनें बनाम चुनिंदा कॉलम क्या यह सही है कि सभी बिट्स को सेट करने के लिए -1 का उपयोग करना सुरक्षित है? क्या डीबगिंग के दौरान क्रॉस थ्रेडिंग त्रुटियों से बचने के लिए चेकफोरआईलागल क्रॉसथथकॉल को गलत पर सेट करना सुरक्षित है? AngularJS: $ निरीक्षण और $ देखने के तरीके के बीच का अंतर पायथन में एक क्रमबद्ध सरणी के सूचकांक कैसे प्राप्त करें आम जावास्क्रिप्ट कार्यान्वयन स्ट्रिंग इंटरनेशनल का उपयोग करते हैं? सी में फ़ंक्शन में एरे और एरे पॉइंटर को गुज़रने में अंतर ड्रॉपडाउन सूची के परिवर्तन पर फ़ॉर्म कैसे सबमिट करें? AndroidManifest में एक नई गतिविधि जोड़ें? Xcode 6 और बाद में में "व्युत्पन्न डेटा हटाएं" कैसे करें? किसी विशेष फ़ाइल को एक विशिष्ट पुनरीक्षण के लिए रीसेट करना या वापस करना Git का उपयोग करना है? स्प्रिंग में टोमक द्वारा प्रदान किए गए जेएनडीआई डाटासोर्स का उपयोग कैसे करें?

एक लिंक को एक लिंक में बनाएं

मेरे पास कुछ फैंसी दृश्य सामग्री के साथ एक <div> ब्लॉक है जिसे मैं बदलना नहीं चाहता। मैं इसे एक क्लिक करने योग्य लिंक बनाना चाहता हूं

मैं <a href="…"><div> … </div></a> तरह कुछ ढूंढ रहा हूं, लेकिन वह मान्य XHTML 1.1 है।

वेब के समाधान से एकत्रित समाधान "एक लिंक को एक लिंक में बनाएं"

एक बेहतर समाधान खोजने की आशा में यहां मेरा आया था, लेकिन मुझे ये प्रस्ताव देने वाले किसी भी व्यक्ति को पसंद नहीं है। मुझे लगता है कि आप में से कुछ ने सवाल गलत समझा है। ओपी सामग्री से भरा एक डिवीजन बनाना चाहता है एक लिंक की तरह व्यवहार करते हैं इसका एक उदाहरण फेसबुक विज्ञापन होगा – यदि आप देखते हैं, तो वे वास्तव में उचित मार्कअप हैं

मेरे लिए नो-संख्या हैं: जावास्क्रिप्ट (सिर्फ एक लिंक के लिए आवश्यक नहीं होना चाहिए, और बहुत खराब एसईओ / पहुंच); अमान्य HTML

संक्षेप में यह है:

  • सामान्य पैनल बनाएं और उस लिंक को डालें जिसमें आप चाहते हैं। लिंक के अंदर, एक खाली <span></span> तत्व डाल दें (नहीं <span /> ):

     <div class="card"> <div class="card-body"> This is some text within a card body. <a href="/card/22"><span class="card-link"></span></a> </div> </div> 
  • पैनल की position: relative

  • निम्न अवधि को खाली अवधि पर लागू करें:

     card-link { position: absolute; width: 100%; height: 100%; top: 0; left: 0; z-index: 1; /* fixes overlap error in IE7/8, make sure you have an empty gif */ background-image: url('empty.gif'); } 

    यह अब पैनल को कवर करेगा, और क्योंकि यह एक <a> टैग के अंदर है, यह एक क्लिक करने योग्य लिंक है

  • पैनल की position: relative किसी अन्य लिंक को दें position: relative और एक उपयुक्त z-index (> 1) उन्हें डिफ़ॉल्ट लिंक के सामने लाने के लिए।

आप div एक लिंक ही नहीं बना सकते हैं, लेकिन आप एक block रूप में <a> टैग कार्य कर सकते हैं, वही व्यवहार जो <div> है

 a { display: block; } 

फिर आप उस पर चौड़ाई और ऊंचाई निर्धारित कर सकते हैं

यह एक प्राचीन प्रश्न है, लेकिन मैंने सोचा कि मैं इसका उत्तर दूंगा क्योंकि हर किसी के पास कुछ पागल समाधान हैं। यह वास्तव में बहुत सरल है …

एक एंकर टैग इस तरह काम करता है –

 <a href="whatever you want"> EVERYTHING IN HERE TURNS INTO A LINK </a> 

Sooo …

 <a href="whatever you want"> <div id="thediv" /> </a> 

हालांकि मुझे यकीन नहीं है कि यह मान्य है। अगर बोलने वाले समाधानों के पीछे ये तर्क है, तो मैं माफी चाहता हूं …

थोड़ा जावास्क्रिप्ट की आवश्यकता है लेकिन, आपका div क्लिक करने योग्य होगा

 <div onclick="location.href='http://www.example.com';" style="cursor:pointer;"></div> 

इस विकल्प को एक रिक्त.gif की आवश्यकता नहीं है, जैसा कि सबसे अधिक उन्नत उत्तर में है:

HTML:

  <div class="feature"> <a href="http://www.example.com"></a> </div> 

सीएसएस:

  div.feature { position: relative; } div.feature a { position: absolute; width: 100%; height: 100%; top: 0; left: 0; text-decoration: none; /* No underlines on the link */ z-index: 10; /* Places the link above everything else in the div */ background-color: #FFF; /* Fix to make div clickable in IE */ opacity: 0; /* Fix to make div clickable in IE */ filter: alpha(opacity=1); /* Fix to make div clickable in IE */ } 

जैसा कि http://www.digitalskydesign.com/how-to-make-an-entire-div-a-link-using-css/ पर प्रस्तावित है

यह आप को क्या हासिल करने के लिए एक "मान्य" समाधान है।

 <style type="text/css"> .myspan { display: block; } </style> <a href="#"><span class="myspan">text</span></a> 

लेकिन सबसे अधिक संभावना है कि आप वास्तव में क्या चाहते हैं, एक ब्लॉक स्तर तत्व के रूप में <a> टैग टैग प्रदर्शित करना चाहिए

मैं एक हाइपरलिंक का अनुकरण करने के लिए जावास्क्रिप्ट का उपयोग करने की सलाह नहीं देता क्योंकि इससे मार्कअप सत्यापन के उद्देश्य को समाप्त होता है, जो अंततः पहुंच को बढ़ावा देने के लिए है (उचित अर्थ के नियमों के बाद अच्छी तरह से तैयार किए गए दस्तावेजों की संभावना कम से कम एक ही दस्तावेज को अलग-अलग ब्राउज़रों द्वारा अलग किया जाएगा)।

यह एक वेब पेज प्रकाशित करना बेहतर होगा जो मान्य नहीं है, लेकिन जावास्क्रिप्ट वाले लोगों सहित सभी ब्राउज़रों पर ठीक से रेंडर करता है और कार्य करता है इसके अलावा, onclick का उपयोग एक स्क्रीन रीडर के लिए सिमेंटिक जानकारी प्रदान नहीं करता है यह निर्धारित करने के लिए कि एक लिंक एक लिंक के रूप में कार्य कर रहा है।

निश्चित नहीं है कि यह मान्य है लेकिन यह मेरे लिए काम किया है

कोड :

  <div style='position:relative;background-color:#000000;width:600px;height:30px;border:solid;'> <p style='display:inline;color:#ffffff;float:left;'>Whatever</p> <a style='position:absolute;top:0px;left:0px;width:100%;height:100%;display:inline;' href ='#'></a> </div> 

आईई 7 और फॉरवर्ड में शीतकालीन के उत्तर का काम करने के लिए, इसमें कुछ बदलाव की जरूरत है।

  1. आईई ज़ी-इंडेक्स का सम्मान नहीं करेगी यदि तत्व का कोई पृष्ठभूमि रंग नहीं है, तो लिंक कंटेनिंग डिवा के कुछ हिस्सों को ओवरलैप नहीं करेगा जिसमें सामग्री है, केवल रिक्त भागों। इसे ठीक करने के लिए अस्पष्टता 0 के साथ एक पृष्ठभूमि जोड़ा गया है।

  2. किसी कारण से आईई 7 और विभिन्न संगतता मोड एक लिंक दृष्टिकोण में अवधि का उपयोग करते समय पूरी तरह से विफल हो जाते हैं। हालांकि यदि लिंक को शैली दी जाती है तो यह ठीक काम करती है।

 .blockLink { position:absolute; top:0; left: 0; width:100%; height:100%; z-index: 1; background-color:#ffffff; -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); opacity:0; } 
 <div style="position:relative"> <some content> <a href="somepage" class="blockLink" /> <div> 

एचटीएमएल में पेश किए गए डेटा-टैग के साथ jQuery का उपयोग करने के लिए सबसे साफ रास्ता होगा इस समाधान के साथ आप चाहते हैं कि हर टैग पर एक लिंक बना सकते हैं। सबसे पहले एक डेटा-लिंक टैग के साथ टैग (जैसे div) को परिभाषित करें:

 HTML: ------------- <div data-link="http://www.google.at/">Some content in the div which is arbitrary</div> 

अब आप चाहते हैं कि आप div की शैली कर सकते हैं। और आपको "लिंक" शैली के व्यवहार के लिए भी शैली बनाना है:

 CSS: ------------- [data-link] { cursor: pointer; } 

और आखिरकार इस jQuery कॉल को पृष्ठ पर डालें:

 JAVASCRIPT: ------------- $(document).ready(function() { $("[data-link]").click(function() { window.location.href = $(this).attr("data-link"); return false; }); }); 

इस कोड के साथ jQuery के पृष्ठ पर हर टैग पर एक क्लिक श्रोता लागू होता है जिसमें "डेटा-लिंक" विशेषता होती है और यूआरएल के पुनर्निर्देशन जो डेटा-लिंक विशेषता में होता है।

आप एक लंगर लपेटकर भी कोशिश कर सकते हैं, फिर अपनी ऊँचाई और चौड़ाई को उसके माता-पिता के साथ समान रूप में बदलना। यह पूरी तरह से मेरे लिए काम करता है

 <div id="css_ID"> <a href="http://www.your_link.com" style="display:block; height:100%; width:100%;"></a> </div> 

यह पोस्ट पुरानी है मुझे पता है, लेकिन मुझे एक ही समस्या को ठीक करना पड़ा क्योंकि बस ब्लॉक पर सेट डिस्प्ले के साथ एक सामान्य लिंक टैग लिखना, पूरे डिज़ाइन को IE में क्लिक करने योग्य नहीं बनाता है। इसलिए इस समस्या को ठीक करने के लिए JQuery का इस्तेमाल करने के बजाय सरल।

सबसे पहले हमें यह समझने दो कि यह क्यों होता है: IE अभ्यस्त एक खाली डिवा क्लिक करने योग्य है, केवल उस डिवीज / एक टैग को क्लिक करने योग्य के भीतर पाठ / छवि बनाते हैं।

समाधान: div को एक बैकग्राउंड छवि से भरें और इसे दर्शक से छिपाएं

कैसे? आप अच्छे प्रश्न पूछते हैं, अब सुनो। इस बैकरेड शैली को एक टैग में जोड़ें

 > "background:url('some_small_image_path') > -2000px -2000px no-repeat;" 

और वहां आपके पास यह पूरी डिवेल पर क्लिक करने योग्य है। यह मेरे लिए सबसे बढ़िया तरीका था क्योंकि मैं इसे अपनी फोटो गैलरी के लिए उपयोग कर रहा हूं ताकि छवि के आधे भाग पर उपयोगकर्ता क्लिक को बाएं / दाएँ स्थानांतरित करने के लिए और फिर एक छोटी सी छवि भी दें और दृश्य प्रभावों के लिए भी। इसलिए मेरे लिए मैंने बाईं ओर और सही छवियों को पृष्ठभूमि छवियों के रूप में प्रयोग किया था!

क्यों नहीं? use <a href="bla"> <div></div> </a> का उपयोग HTML5 में ठीक काम करता है

बस ब्लॉक में लिंक है और jquery के साथ इसे बढ़ाने। यह जावास्क्रिप्ट के बिना किसी के लिए 100% बेहद प्रभावित करता है एचटीएमएल के साथ ऐसा करने के लिए वास्तव में सबसे अच्छा समाधान imho नहीं है उदाहरण के लिए:

 <div id="div_link"> <h2><a href="mylink.htm">The Link and Headline</a></h2> <p>Some more stuff and maybe another <a href="mylink.htm">link</a>.</p> </div> 

फिर ब्लॉक क्लिक करने योग्य ( वेब डिज़ाइनर दीवार के माध्यम से) बनाने के लिए jquery का उपयोग करें:

 $(document).ready(function(){ $("#div_link").click(function(){ window.location=$(this).find("a").attr("href"); return false; }); }); 

उसके बाद आपको ऐसा करना होगा जो कि div में कर्सर शैलियों को जोड़ता है

  #div_link:hover {cursor: pointer;} 

बोनस अंक के लिए केवल इन शैलियों को लागू करते हैं यदि जावास्क्रिप्ट को 'js_enabled' वर्ग को div, या शरीर, या जो कुछ भी जोड़कर सक्षम किया गया है

यह उदाहरण मेरे लिए काम किया है:

 <div style="position: relative; width:191px; height:83px;"> <a href="link.php" style="display:block; width:100%; height:100%;"></a> </div> 

वास्तव में आपको इस समय जावास्क्रिप्ट कोड को शामिल करना होगा, ऐसा करने के लिए इस ट्यूटोरियल की जांच करें ।

लेकिन एक सीएसएस कोड का उपयोग करके इसे प्राप्त करने का एक मुश्किल तरीका है, आपको अपने डिवि टैग के अंदर एक एंकर टैग को घोंसले करना चाहिए और आपको इसे इस संपत्ति पर लागू करना होगा,

 display:block; 

जब आप ऐसा करते हैं, तो यह संपूर्ण चौड़ाई क्षेत्र को क्लिक करने योग्य (लेकिन एंकर टैग की ऊंचाई के भीतर) बना देगा, यदि आप पूरे डिवेल क्षेत्र को कवर करना चाहते हैं तो आपको लंगर टैग की ऊंचाई निश्चित रूप से ऊंचाई की ऊंचाई पर सेट करना होगा div टैग, उदाहरण के लिए:

 height:60px; 

यह पूरे क्षेत्र को क्लिक करने योग्य बनाने वाला है, फिर आप text-indent:-9999px को लक्ष्य प्राप्त करने के लिए एंकर टैग पर लागू कर सकते हैं।

यह वास्तव में मुश्किल और आसान है और यह सिर्फ सीएसएस कोड का उपयोग करके बनाया गया है।

यहां एक उदाहरण है : http://jsfiddle.net/hbirjand/RG8wW/

हालांकि मैं किसी भी परिस्थिति में ऐसा करने की अनुशंसा नहीं करता हूं, यहां कुछ कोड है जो एक लिंक में एक डीआईवी बनाता है (नोट: यह उदाहरण jQuery का उपयोग करता है और कुछ मार्कअप सादगी के लिए निकाल दिया जाता है):

 <script type="text/javascript" src="jquery-1.3.2.min.js"></script> <script type="text/javascript"> $(document).ready(function() { $("div[href]").click(function () { window.location = $(this).attr("href"); }); }); </script> <div href="http://www.google.com"> My Div Link </div> 

एक बार फिर, मैं ऐसा नहीं करूँगा कृपया मुझे मत मत छोड़ो। मैं बस सवाल का जवाब देने की कोशिश कर रहा हूं।

मेरे लिए यह काम:

 <div onclick="location.href='page.html';" style="cursor:pointer;">...</div> 

आप निम्न विधि से अपने div के लिए एक लिंक दे सकते हैं:

 <div class="boxdiv" onClick="window.location.href='https://www.google.co.in/'">google</div> <style type="text/css"> .boxdiv { cursor:pointer; width:200px; height:200px; background-color:#FF0000; color:#fff; text-align:center; font:13px/17px Arial, Helvetica, sans-serif; } </style> 

आप किसी तत्व टैग के साथ तत्व को घेर सकते हैं या आप jquery का उपयोग कर सकते हैं और उपयोग कर सकते हैं

 $('').click(function(e){ e.preventDefault(); //DO SOMETHING }); 

यह सबसे आसान तरीका है

कहो, यह div ब्लॉक मैं क्लिक करने योग्य बनाना चाहता हूं:

 <div class="inner_headL"></div> 

तो एक href डाल निम्नानुसार है:

 <a href="#"> <div class="inner_headL"></div> </a> 

बस div ब्लॉक को सामान्य HTML तत्व के रूप में मानते हैं और सामान्य एक href टैग को सक्षम करते हैं।
यह कम से कम एफएफ पर काम करता है

यह ऐसा करने का सबसे अच्छा तरीका है जैसा कि बीबीसी वेबसाइट और गार्जियन पर प्रयोग किया जाता है:

मुझे यहां तकनीक मिली: http://codepen.io/IschaGast/pen/Qjxpxo

एचटीएमएल हीरेस

 <div class="highlight block-link"> <h2>I am an example header</h2> <p><a href="pageone" class="block-link__overlay-link">This entire box</a> links somewhere, thanks to faux block links. I am some example text with a <a href="pagetwo">custom link</a> that sits within the block</p> </div> 

सीएसएस को सुनता है

 /** * Block Link * * A Faux block-level link. Used for when you need a block-level link with * clickable areas within it as directly nesting a tags breaks things. */ .block-link { position: relative; } .block-link a { position: relative; z-index: 1; } .block-link .block-link__overlay-link { position: static; &:before { bottom: 0; content: ""; left: 0; overflow: hidden; position: absolute; right: 0; top: 0; white-space: nowrap; z-index: 0; } &:hover, &:focus { &:before { background: rgba(255,255,0, .2); } } } 

मैंने एक चर में खींच लिया क्योंकि मेरी लिंक में कुछ मान बदलेगा, जिसके आधार पर यूज़र आने वाले रिकॉर्ड पर निर्भर करता है। यह परीक्षण के लिए काम किया है:

  <div onclick="location.href='page.html';" style="cursor:pointer;">...</div> 

और यह भी काम करता है:

  <div onclick="location.href='<%=Webpage%>';" style="cursor:pointer;">...</div> 

अगर सिर्फ सब कुछ इस सरल हो सकता है …

 #logo {background:url(../global_images/csg-4b15a4b83d966.png) no-repeat top left;background-position:0 -825px;float:left;height:48px;position:relative;width:112px} #logo a {padding-top:48px; display:block;} <div id="logo"><a href="../../index.html"></a></div> 

बस बॉक्स के बाहर थोड़ा सोचो 😉

मेरे बुद्धिमान पैंट का उत्तर:

"स्पष्ट उत्तर:" ब्लॉकों का स्तर तत्व हाइपरलिंक कैसे बना सकता है और एक्सएचटीएमएल 1.1 में मान्य है "

बस एचटीएमएल 5 डीसीटीपीईपी डीटीडी का उपयोग करें। "

वास्तव में आई 7 के लिए वास्तव में सही नहीं था

onclick="location.href='page.html';"

IE7-9, क्रोम, सफारी, फ़ायरफ़ॉक्स,