ใช้ Firefox CTRL +คุณสามารถขยายหน้าเว็บทั้งหมดโดยเพียงแค่กด สิ่งนี้จะขยายขนาดหน้าเว็บทั้งหมด (แบบอักษรรูปภาพและอื่น ๆ ) ตามสัดส่วน
ฉันจะทำซ้ำฟังก์ชั่นเดียวกันโดยใช้ CSS ได้อย่างไร
มีสิ่งที่ชอบpage-size: 150%
(ซึ่งจะเพิ่มส่วนหน้าทั้งหมดโดย x%?)
ใช้ Firefox CTRL +คุณสามารถขยายหน้าเว็บทั้งหมดโดยเพียงแค่กด สิ่งนี้จะขยายขนาดหน้าเว็บทั้งหมด (แบบอักษรรูปภาพและอื่น ๆ ) ตามสัดส่วน
ฉันจะทำซ้ำฟังก์ชั่นเดียวกันโดยใช้ CSS ได้อย่างไร
มีสิ่งที่ชอบpage-size: 150%
(ซึ่งจะเพิ่มส่วนหน้าทั้งหมดโดย x%?)
คำตอบ:
คุณอาจจะสามารถใช้zoom
คุณสมบัติCSS - รองรับใน IE 5.5+, Opera และ Safari 4 และ Chrome
Firefox เป็นเบราว์เซอร์เท่านั้นที่สำคัญที่ไม่สนับสนุนการซูม ( Bugzilla รายการที่นี่ ) แต่คุณสามารถใช้"กรรมสิทธิ์" -moz-เปลี่ยนสถานที่ให้บริการใน Firefox 3.5
ดังนั้นคุณสามารถใช้:
div.zoomed {
zoom: 3;
-moz-transform: scale(3);
-moz-transform-origin: 0 0;
}
นี่เป็นคำตอบที่ค่อนข้างช้า แต่คุณสามารถใช้ได้
body {
transform: scale(1.1);
transform-origin: 0 0;
// add prefixed versions too.
}
เพื่อซูมหน้า 110% แม้ว่าzoom
สไตล์จะอยู่ที่นั่น Firefox ก็ยังไม่สนับสนุนอย่างน่าเศร้า
นอกจากนี้ยังแตกต่างจากการซูมของคุณเล็กน้อย การcss transform
ทำงานเหมือนการซูมภาพดังนั้นมันจะขยายหน้าของคุณ แต่ไม่ทำให้เกิดการเรียงภาพ ฯลฯ
แก้ไขปรับปรุงต้นกำเนิดการแปลง
transform
ใช่ฉันควรได้กล่าวว่าเนื้อหาที่ถูกตัดด้วย ขอบคุณสำหรับความคิดเห็น
transform-origin: 0 0;
ทำสิ่งที่ฉันต้องการ ตัวอย่างเช่นในการซูมหน้าถึง transform: scale(1.5); transform-origin: 0 0;
150% ฉันเชื่อว่าคำตอบที่ดีของ @kumar_harsh ควรได้รับการแก้ไข
transform-origin
ใด สิ่งที่ฉันเขียนเป็นเพียงตัวอย่างหนึ่งของค่าที่จะใช้ แน่นอนว่าคุณจะใช้งานได้ฟรีtransform-origin: 0 0
ถ้ามันเหมาะกับกรณีการใช้งานของคุณ (หรือถ้าคุณไม่สนใจว่ามีอะไรอยู่ที่มุมล่างขวา)
หาก CSS ของคุณถูกสร้างขึ้นอย่างสมบูรณ์รอบ ๆex
หรือem
หน่วยสิ่งนี้อาจเป็นไปได้และเป็นไปได้ คุณต้องการเพียงแค่ต้องประกาศfont-size: 150%
ในสไตล์ของคุณสำหรับหรือbody
html
สิ่งนี้ควรทำให้ความยาวอื่น ๆ แม้ว่าคุณจะไม่สามารถปรับขนาดภาพด้วยวิธีนี้เว้นแต่ว่าพวกเขาจะมีสไตล์เช่นกัน
แต่มันก็ใหญ่มากถ้าอยู่ในไซต์ส่วนใหญ่
%
, em
หรือex
หน่วย
ดังที่โยฮันเนสบอก - ตัวแทนไม่เพียงพอที่จะแสดงความคิดเห็นโดยตรงกับคำตอบของเขา - คุณสามารถทำสิ่งนี้ได้ตราบใดที่องค์ประกอบทั้งหมด "" ถูกระบุเป็นขนาดหลายขนาดของแบบอักษรความหมายทุกสิ่งที่คุณใช้%, em หรือ ex หน่วย" แม้ว่าฉันคิดว่า% จะขึ้นอยู่กับองค์ประกอบที่มีไม่ใช่ขนาดตัวอักษร
และโดยปกติคุณจะไม่ใช้หน่วยที่สัมพันธ์กันเหล่านี้กับภาพเนื่องจากมันประกอบไปด้วยพิกเซล แต่ก็มีกลอุบายที่ทำให้มันใช้งานได้จริงมากขึ้น
หากคุณกำหนดbody{font-size: 62.5%};
1em จะเท่ากับ 10px เท่าที่ฉันรู้ว่าสิ่งนี้ใช้ได้กับเบราว์เซอร์หลักทั้งหมด
จากนั้นคุณสามารถระบุ (เช่น) ภาพสี่เหลี่ยมจัตุรัสขนาด 100px ของคุณด้วยwidth: 10em; height: 10em;
และสมมติว่ามาตราส่วนของ Firefox ถูกตั้งเป็นค่าเริ่มต้นรูปภาพจะมีขนาดตามธรรมชาติ
ทำbody{font-size: 125%};
และทุกอย่างรวมถึงรูปภาพจะเป็นขนาดดั้งเดิมสองเท่า
ด้วยรหัสนี้ 1em หรือ 100% จะเท่ากับ 1% ของความสูงของร่างกาย
document.body.style.fontSize = ((window.innerHeight/100)*6.25)+"%"
* {
transform: scale(1.1, 1.1)
}
สิ่งนี้จะเปลี่ยนทุกองค์ประกอบในหน้า
Jon Tan ทำสิ่งนี้กับไซต์ของเขา - http://jontangerine.com/ ทุกอย่างรวมถึงรูปภาพที่ประกาศในระบบ EMS ทุกอย่าง นี่คือวิธีที่ได้ผลที่ต้องการ การซูมข้อความและการซูมหน้าจอให้ผลลัพธ์ที่เหมือนกันเกือบทั้งหมด
CSS จะไม่สามารถซูมตามต้องการได้ แต่ถ้าคุณจับคู่ CSS กับ JS คุณสามารถเปลี่ยนค่าบางอย่างเพื่อทำให้หน้าดูใหญ่ขึ้น อย่างไรก็ตามตามที่ได้กล่าวไปแล้วคุณลักษณะนี้เป็นมาตรฐานในเบราว์เซอร์สมัยใหม่ทุกวันนี้: ไม่จำเป็นต้องทำซ้ำ ตามความเป็นจริงแล้วการทำซ้ำมันจะทำให้เว็บไซต์ของคุณช้าลง (มีหลายสิ่งที่จะโหลดมากขึ้น, JS หรือ CSS เพิ่มเติมเพื่อแยกวิเคราะห์หรือดำเนินการและนำไปใช้ ฯลฯ )
ฉันมีรหัสต่อไปนี้ที่ปรับขนาดทั้งหน้าผ่านคุณสมบัติ CSS สิ่งสำคัญคือการตั้งค่า body.style.width เป็นสิ่งที่ตรงกันข้ามกับการซูมเพื่อหลีกเลี่ยงการเลื่อนแนวนอน คุณต้องตั้งค่าจุดกำเนิดการแปลงเป็นด้านซ้ายบนเพื่อให้มุมบนซ้ายของเอกสารที่มุมบนซ้ายของหน้าต่าง
var zoom = 1;
var width = 100;
function bigger() {
zoom = zoom + 0.1;
width = 100 / zoom;
document.body.style.transformOrigin = "left top";
document.body.style.transform = "scale(" + zoom + ")";
document.body.style.width = width + "%";
}
function smaller() {
zoom = zoom - 0.1;
width = 100 / zoom;
document.body.style.transformOrigin = "left top";
document.body.style.transform = "scale(" + zoom + ")";
document.body.style.width = width + "%";
}