style.width प्रॉपर्टी क्या है?
HTML DOM style.width प्रॉपर्टी किसी तत्व की चौड़ाई को प्राप्त या सेट करती है। यह CSS width प्रॉपर्टी के अनुरूप है। डिफ़ॉल्ट रूप से, यह कंटेंट क्षेत्र की चौड़ाई सेट करती है (जब तक कि box-sizing: border-box न हो, तब यह बॉर्डर+पैडिंग+कंटेंट होती है)।
सिंटैक्स
चौड़ाई प्राप्त करना
object.style.width
चौड़ाई सेट करना
object.style.width = "value"
मान
- लंबाई:
px,em,rem,vh,vw, आदि। - प्रतिशत:
%(पैरेंट कंटेंट चौड़ाई के सापेक्ष)। auto(डिफ़ॉल्ट - ब्राउज़र गणना करता है)।min-content,max-content,fit-content(आधुनिक)।inherit,initial,unset।
उदाहरण
यह उदाहरण एक पैराग्राफ की चौड़ाई को 50% पर सेट करता है:
<!DOCTYPE html>
<html>
<head>
<style>
body { color: #000; background: lightblue; height: 100vh; }
p { border: 2px solid #fff; margin: 1.5rem auto; }
.btn {
background: #db133a;
border: none;
height: 2rem;
border-radius: 2px;
width: 40%;
display: block;
color: #fff;
outline: none;
cursor: pointer;
}
</style>
</head>
<body>
<h1>DOM Style width प्रॉपर्टी उदाहरण</h1>
<p>यह पैराग्राफ 1 है कुछ डमी टेक्स्ट के साथ। यह पैराग्राफ 1 है कुछ डमी टेक्स्ट के साथ। यह पैराग्राफ 1 है कुछ डमी टेक्स्ट के साथ।</p>
<button onclick="changeWidth()" class="btn">चौड़ाई बदलें</button>
<script>
function changeWidth() {
document.querySelector('p').style.width = "50%";
}
</script>
</body>
</html>
आउटपुट
"चौड़ाई बदलें" बटन पर क्लिक करने पर, पैराग्राफ की चौड़ाई उसके पैरेंट कंटेनर के 50% पर सेट हो जाती है।
चौड़ाई से संबंधित प्रॉपर्टीज़ तुलना
| प्रॉपर्टी | विवरण | पढ़ने योग्य/लिखने योग्य |
|---|---|---|
style.width |
इंलाइन स्टाइल चौड़ाई सेट/प्राप्त करता है | |
offsetWidth |
बॉर्डर+पैडिंग+कंटेंट सहित कुल रेंडर की गई चौड़ाई | केवल पढ़ने योग्य |
clientWidth |
पैडिंग+कंटेंट (स्क्रॉलबार घटाकर) | केवल पढ़ने योग्य |
scrollWidth |
कुल कंटेंट चौड़ाई (ओवरफ्लो सहित) | केवल पढ़ने योग्य |
getComputedStyle(el).width |
गणना की गई अंतिम चौड़ाई (px में) | केवल पढ़ने योग्य |
box-sizing का प्रभाव
box-sizing: content-box(डिफ़ॉल्ट):widthकेवल कंटेंट क्षेत्र है; पैडिंग/बॉर्डर बाहर जोड़े जाते हैं।box-sizing: border-box:widthमें पैडिंग+बॉर्डर+कंटेंट शामिल होता है; कंटेंट क्षेत्र सिकुड़ जाता है।
सामान्य उपयोग के मामले
- रेस्पॉन्सिव लेआउट: मीडिया क्वेरीज़/JS में चौड़ाई समायोजित करना।
- प्रोग्रेस बार:
width: 0% → 100%एनिमेट करना। - डायनामिक कॉलम आकार बदलना।
- इमेज/वीडियो आकार नियंत्रण।
नोट्स
- इंलाइन तत्वों (
<span>,<a>) परwidthका कोई प्रभाव नहीं पड़ता जब तक किdisplay: inline-block/block/flex/gridन हो। - रिटर्न किया गया मान इंलाइन स्टाइल मान है (गणना मान नहीं)। वास्तविक रेंडर की गई चौड़ाई के लिए
getComputedStyle()याoffsetWidthका उपयोग करें।