วิธีใช้ตัวกรอง CSS กับภาพพื้นหลัง


467

ฉันมีไฟล์ JPEG ที่ฉันใช้เป็นภาพพื้นหลังสำหรับหน้าค้นหาและฉันใช้ CSS เพื่อตั้งค่าเพราะฉันทำงานภายในบริบทของBackbone.js :

background-image: url("whatever.jpg");

ฉันต้องการที่จะใช้ตัวกรองเบลอ CSS 3 เพียงไปที่พื้นหลัง แต่ผมไม่แน่ใจว่าวิธีการรูปแบบองค์ประกอบเพียงว่าหนึ่ง ถ้าฉันลอง:

-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);

ใต้background-imageCSS ของฉันมันมีลักษณะทั้งหน้าไม่ใช่แค่พื้นหลัง มีวิธีเลือกเฉพาะภาพและใช้ตัวกรองกับสิ่งนั้นหรือไม่? อีกวิธีหนึ่งมีวิธีเพียงปิดเบลอสำหรับองค์ประกอบอื่น ๆ ในหน้าหรือไม่


2
เบลอเพียงบางส่วนของรูปภาพ: codepen.io/vsync/pen/gjMEWm
vsync

คำตอบ:


528

ลองดูปากกานี้

คุณจะต้องใช้คอนเทนเนอร์สองแบบที่แตกต่างกันหนึ่งอันสำหรับภาพพื้นหลังและอีกอันสำหรับเนื้อหาของคุณ

ในตัวอย่างที่ฉันได้สร้างสองภาชนะบรรจุและ.background-image.content

ทั้งสองคนจะอยู่ด้วยและposition: fixed left: 0; right: 0;ความแตกต่างในการแสดงมันมาจากz-indexค่าที่ตั้งไว้แตกต่างกันสำหรับองค์ประกอบ

.background-image {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 1;
  display: block;
  background-image: url('https://i.imgur.com/lL6tQfy.png');
  width: 1200px;
  height: 800px;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}

.content {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 9999;
  margin-left: 20px;
  margin-right: 20px;
}
<div class="background-image"></div>
<div class="content">
  <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis aliquam erat in ante malesuada, facilisis semper nulla semper. Phasellus sapien neque, faucibus in malesuada quis, lacinia et libero. Sed sed turpis tellus. Etiam ac aliquam tortor, eleifend
    rhoncus metus. Ut turpis massa, sollicitudin sit amet molestie a, posuere sit amet nisl. Mauris tincidunt cursus posuere. Nam commodo libero quis lacus sodales, nec feugiat ante posuere. Donec pulvinar auctor commodo. Donec egestas diam ut mi adipiscing,
    quis lacinia mauris condimentum. Quisque quis odio venenatis, venenatis nisi a, vehicula ipsum. Etiam at nisl eu felis vulputate porta.</p>
  <p>Fusce ut placerat eros. Aliquam consequat in augue sed convallis. Donec orci urna, tincidunt vel dui at, elementum semper dolor. Donec tincidunt risus sed magna dictum, quis luctus metus volutpat. Donec accumsan et nunc vulputate accumsan. Vestibulum
    tempor, erat in mattis fringilla, elit urna ornare nunc, vel pretium elit sem quis orci. Vivamus condimentum dictum tempor. Nam at est ante. Sed lobortis et lorem in sagittis. In suscipit in est et vehicula.</p>
</div>

ขอโทษสำหรับข้อความLorem Ipsum

ปรับปรุง

ขอบคุณMatthew Wilcoxsonสำหรับการใช้งานที่ดีขึ้นโดยใช้.content:before http://codepen.io/akademy/pen/FlkzB


79
วิธีที่ดีกว่าเล็กน้อยในการทำเช่นนี้คือการใช้. เนื้อหา: ก่อนแทนที่จะเป็นมาร์กอัป "ภาพพื้นหลัง" เพิ่มเติม ฉันอัปเดตปากกาที่นี่: codepen.io/akademy/pen/FlkzB
Matthew Wilcoxson

6
fwiw มีเพียง Webkit เท่านั้นที่ใช้คุณสมบัตินี้และมีเฉพาะกับคำนำหน้าผู้ขายเท่านั้นดังนั้นคำนำหน้า ms, o-, moz- จึงไม่มีประโยชน์
Jon z

2
รองรับใน Firefox 35.0 และใหม่กว่าโดยค่าเริ่มต้น: caniuse.com/#feat=css-filters
Mikko Rantalainen

1
JUst อัปเดตเป็น FF 35 และใช้งานได้โดยไม่มีคำนำหน้า
Aamir Mahmood

1
@EdwardBlack ฉันไม่คิดว่ามันเป็นปัญหา แต่มีการเบลอถาวรคุณจะต้องใช้เครื่องมือแก้ไขภาพ วิธีอื่นอาจเป็นการจับภาพบางประเภทโดยใช้เบราว์เซอร์ webkit phantomJS / headless จากนั้นให้บริการ แต่นั่นเป็นวิธีที่น่าเบื่อเพื่อให้ได้ผลลัพธ์เดียวกัน
Aniket

70

ปากกา

ยกเลิกความต้องการองค์ประกอบเพิ่มเติมพร้อมกับทำให้เนื้อหาสอดคล้องกับผังเอกสารมากกว่าการแก้ไข / แน่นอนเหมือนโซลูชันอื่น ๆ

ทำได้โดยใช้

.content {
  overflow: auto;
  position: relative;
}

จำเป็นต้องใช้การโอเวอร์โฟลว์อัตโนมัติมิฉะนั้นพื้นหลังจะถูกชดเชยด้วยพิกเซลเพียงเล็กน้อยที่ด้านบน

หลังจากนี้คุณก็ต้องการ

.content:before {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  z-index: -1;

  display: block;
  background-image: url('img-here');
  background-size:cover;
  width: 100%;
  height: 100%;

  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}

แก้ไขหากคุณมีความสนใจในการลบเส้นขอบสีขาวที่ขอบใช้ความกว้างและความสูงของและซ้ายและด้านบนของ110% -5%สิ่งนี้จะขยายพื้นหลังของคุณออกไปเล็กน้อย - แต่ไม่ควรมีสีทึบออกมาจากขอบ

อัปเดตปากกาที่นี่: https://codepen.io/anon/pen/QgyewB - ขอบคุณ Chad Fawcett สำหรับคำแนะนำ


1
ข้อ จำกัด สำหรับสิ่งนี้คือคุณไม่สามารถจัดการองค์ประกอบหลอกใน js ได้ หากคุณไม่ต้องการมันก็เป็นการแก้ปัญหาที่ดี
วางตำแหน่งห้องปฏิบัติการ

6
หากคุณไม่ชอบเส้นขอบสีขาวเบลอคุณสามารถเพิ่มwidthและheightไปยัง110%จากนั้นเพิ่มออฟเซ็ตของ-5%ถึงtopและleftของcontent:beforeคลาส
ชาด Fawcett

1
มันใช้งานได้สำหรับฉัน แต่ฉันต้องการให้ภาพพื้นหลังนั้นเลื่อนเมื่อผู้ใช้เลื่อนหน้า ตำแหน่งคงที่จะหยุดการทำงานนั้น จะกำจัดปัญหานี้ได้อย่างไร
DEEPAN KUMAR

61

ตามที่ระบุไว้ในคำตอบอื่น ๆ สามารถทำได้ด้วย:

  • สำเนาของภาพเบลอเป็นพื้นหลัง
  • องค์ประกอบเทียมที่สามารถกรองได้จากนั้นจัดตำแหน่งไว้ด้านหลังเนื้อหา

คุณยังสามารถใช้ backdrop-filter

มีคุณสมบัติที่รองรับที่เรียกว่าbackdrop-filterและปัจจุบันรองรับ Chrome 76, Edge , Safari และ iOS Safari (ดูcaniuse.comเพื่อดูสถิติ)

จากMozilla devdocs :

คุณสมบัติตัวกรองฉากหลังจัดให้มีเอฟเฟกต์เช่นการเบลอหรือการเปลี่ยนสีบริเวณด้านหลังองค์ประกอบซึ่งสามารถมองเห็นผ่านองค์ประกอบนั้นโดยการปรับความโปร่งใส / ความทึบขององค์ประกอบ

ดูcaniuse.comสำหรับสถิติการใช้งาน

คุณจะใช้มันเช่น:

.background-filter::after {
  -webkit-backdrop-filter: blur(5px); /* Use for Safari 9+, Edge 17+ (not a mistake) and iOS Safari 9.2+ */
  backdrop-filter: blur(5px); /* Supported in Chrome 76 */

  content: "";
  display: block;
  position: absolute;
  width: 100%; height: 100%;
}

.background-filter {
  position: relative;
}

.background {
  background-image: url('https://upload.wikimedia.org/wikipedia/en/6/62/Kermit_the_Frog.jpg');
  width: 200px;
  height: 200px;
}
<div class="background background-filter"></div>

Update (2019/12/06) : โครเมี่ยมจะมาพร้อมกับbackdrop-filterการเปิดใช้งานโดยค่าเริ่มต้นในรุ่น 76 ซึ่งมีกำหนดออก 30/07/2019

อัปเดต (01/06/2019) : ทีมงาน Mozzilla Firefox ประกาศว่าจะเริ่มใช้งานได้ในไม่ช้า

อัปเดต (21/05/2019) : Chromium เพิ่งประกาศ backdrop-filterให้บริการใน chrome canary โดยไม่เปิดใช้งานการตั้งค่าสถานะ "เปิดใช้งานคุณลักษณะแพลตฟอร์มเว็บทดลอง" วิธีbackdrop-filterนี้ใกล้เคียงกับการนำไปใช้กับแพลตฟอร์ม Chrome ทั้งหมด


5
แม้ว่ามันจะไม่สามารถใช้ได้กับทุกเบราว์เซอร์ แต่คุณได้รับคะแนนโหวตของฉันสำหรับการเสนอวิธีที่ไม่ถูกต้องในการทำแฮ็ค
MrMesees

AFAIK นี่เป็นคุณสมบัติที่ไม่ได้มาตรฐานดังนั้นจึงไม่มีสเป็คสำหรับมัน
Vitim.us

3
หัวขึ้น! ในปี 2018 การสนับสนุนเบราว์เซอร์ได้ลดลงอย่างมากสำหรับเรื่องนี้! ไม่รองรับใน Edge, Firefox หรือ Chrome
protoEvangelion

@protoEvangelion ดูเหมือนว่าจะใช้งานได้ใน Edge 16+ และฉันไม่เห็นเบราว์เซอร์อื่นที่บอกว่าพวกเขาจะไม่ใช้สิ่งนี้ มีข้อเท็จจริงใดบ้างที่ต้องสำรองการอ้างสิทธิ์เหล่านี้
hitautodestruct

@hitautodestruct ตาม caniuse.com IE, Edge 16, Firefox และ Chrome ไม่สนับสนุนสิ่งนี้ตามค่าเริ่มต้นในขณะนี้ คุณถูกที่ Edge 17+ สนับสนุนสิ่งนี้ ขอบคุณสำหรับการชี้ให้เห็นว่า ปตอบว่าโดยวิธีการที่ผมไม่แน่ใจว่าเบราว์เซอร์หวังใช้นี้ :)
protoEvangelion

26

คุณต้องจัดโครงสร้างHTML ใหม่เพื่อที่จะทำสิ่งนี้ คุณต้องเบลอองค์ประกอบทั้งหมดเพื่อทำให้ฉากหลังเบลอ ดังนั้นถ้าคุณต้องการทำให้ฉากหลังเบลอมันจะต้องเป็นองค์ประกอบของตัวเอง


6

กรุณาตรวจสอบรหัสด้านล่าง: -

.backgroundImageCVR{
	position:relative;
	padding:15px;
}
.background-image{
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background:url('http://www.planwallpaper.com/static/images/colorful-triangles-background_yB0qTG6.jpg');
	background-size:cover;
	z-index:1;
	-webkit-filter: blur(10px);
  -moz-filter: blur(10px);
  -o-filter: blur(10px);
  -ms-filter: blur(10px);
  filter: blur(10px);	
}
.content{
	position:relative;
	z-index:2;
	color:#fff;
}
<div class="backgroundImageCVR">
    <div class="background-image"></div>
    <div class="content">
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis aliquam erat in ante malesuada, facilisis semper nulla semper. Phasellus sapien neque, faucibus in malesuada quis, lacinia et libero. Sed sed turpis tellus. Etiam ac aliquam tortor, eleifend rhoncus metus. Ut turpis massa, sollicitudin sit amet molestie a, posuere sit amet nisl. Mauris tincidunt cursus posuere. Nam commodo libero quis lacus sodales, nec feugiat ante posuere. Donec pulvinar auctor commodo. Donec egestas diam ut mi adipiscing, quis lacinia mauris condimentum. Quisque quis odio venenatis, venenatis nisi a, vehicula ipsum. Etiam at nisl eu felis vulputate porta.</p>
      <p>Fusce ut placerat eros. Aliquam consequat in augue sed convallis. Donec orci urna, tincidunt vel dui at, elementum semper dolor. Donec tincidunt risus sed magna dictum, quis luctus metus volutpat. Donec accumsan et nunc vulputate accumsan. Vestibulum tempor, erat in mattis fringilla, elit urna ornare nunc, vel pretium elit sem quis orci. Vivamus condimentum dictum tempor. Nam at est ante. Sed lobortis et lorem in sagittis. In suscipit in est et vehicula.</p>
    </div>
</div>


5

ต่อไปนี้เป็นคำตอบง่ายๆสำหรับเบราว์เซอร์สมัยใหม่ใน CSS บริสุทธิ์ด้วยองค์ประกอบปลอม 'ก่อน' เช่นโซลูชันจาก Matthew Wilcoxson

เพื่อหลีกเลี่ยงความต้องการในการเข้าถึงองค์ประกอบเทียมสำหรับเปลี่ยนรูปภาพและคุณสมบัติอื่น ๆ ใน JavaScript เพียงใช้inheritเป็นค่าและเข้าถึงพวกเขาผ่านองค์ประกอบหลัก (ที่นี่body)

body::before {
    content: ""; /* Important */
    z-index: -1; /* Important */
    position: inherit;
    left: inherit;
    top: inherit;
    width: inherit;
    height: inherit;
    background-image: inherit;
    background-size: cover;
    filter: blur(8px);
}

body {
  background-image: url("xyz.jpg");
  background-size: 0 0;  /* Image should not be drawn here */
  width: 100%;
  height: 100%;
  position: fixed; /* Or absolute for scrollable backgrounds */
}

มันไม่ทำงานสำหรับฉัน คุณมี jsfiddle ที่ใช้งานได้หรือไม่?
Matt

2

ใน.contentแท็บในการเปลี่ยนแปลง CSS position:absoluteมัน มิฉะนั้นหน้าที่แสดงผลจะไม่สามารถเลื่อนได้


1

แม้ว่าการแก้ปัญหาทั้งหมดที่กล่าวมานั้นฉลาดมาก แต่ทุกคนก็มีปัญหาเล็กน้อยหรืออาจเกิดผลกระทบกับองค์ประกอบอื่น ๆ บนหน้าเว็บเมื่อฉันลองใช้

ในตอนท้ายเพื่อประหยัดเวลาฉันเพิ่งกลับไปใช้โซลูชันเก่าของฉัน: ฉันใช้Paint.NETและไปที่เอฟเฟกต์ Gaussian Blur ด้วยรัศมี 5 ถึง 10 พิกเซลและเพิ่งบันทึกเป็นภาพหน้าเว็บ :-)

HTML:

<body class="mainbody">
</body

CSS:

body.mainbody
{
    background: url('../images/myphoto.blurred.png');
    -moz-background-size: cover;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: top center !important;
    background-repeat: no-repeat !important;
    background-attachment: fixed;
}

แก้ไข:

ในที่สุดฉันก็ทำให้มันทำงานได้ แต่การแก้ปัญหาไม่ได้ตรงไปตรงมา! ดูที่นี่:


คุณดาวน์โหลด 2 imgs
Ced

1

สิ่งที่คุณต้องการจริงๆคือ "ตัวกรอง":

blurWhatEverYouWantInPixels»);"

body {
    color: #fff;
    font-family: Helvetica, Arial, sans-serif;
}

#background {
    background-image: url('https://cdn2.geckoandfly.com/wp-content/uploads/2018/03/ios-11-3840x2160-4k-5k-beach-ocean-13655.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;

    /* START */
    /* START */
    /* START */
    /* START */

    /* You can adjust the blur-radius as you'd like */
    filter: blur(3px);
}
<div id="background"></div>

<p id="randomContent">Lorem Ipsum</p>


1

แน่นอนนี่ไม่ใช่ CSS-solution แต่คุณสามารถใช้ CDN Proton กับfilter:

body {
    background: url('https://i0.wp.com/IMAGEURL?w=600&filter=blurgaussian&smooth=1');
}

มันมาจากhttps://developer.wordpress.com/docs/photon/api/#filter


มีวิธีใดlocalhostบ้างที่จะทำให้ใช้งานได้ในขณะทดสอบ?
Jonathan

จำนวนเบลอสำหรับภาพความละเอียดขนาดใหญ่นั้นบอบบางเกินไปฉันจะเพิ่มจำนวนเบลอได้อย่างไรโดยไม่ต้องมองบล็อก ความกว้างนั้นช่วยได้เล็กน้อย แต่มันก็ดูจะปิดกั้นเกินไปถ้าฉันพร่ามัวมากเกินไป
Jonathan

0

ฉันไม่ได้เขียนสิ่งนี้ แต่ฉันสังเกตเห็นว่ามี polyfill สำหรับส่วนที่สนับสนุนbackdrop-filterโดยใช้คอมไพเลอร์ CSS SASS ดังนั้นหากคุณมีไพพ์ไลน์การคอมไพล์ก็สามารถทำได้อย่างดี (มันยังใช้ TypeScript):

https://codepen.io/mixal_bl4/pen/EwPMWo


0

div {
    background: inherit;
    width: 250px;
    height: 350px;
    position: absolute;
    overflow: hidden;  /* Adding overflow hidden */
}

div:before {
    content: ‘’;
    width: 300px;
    height: 400px;
    background: inherit;
    position: absolute;
    left: -25px;  /* Giving minus -25px left position */
    right: 0;
    top: -25px;   /* Giving minus -25px top position */
    bottom: 0;
    box-shadow: inset 0 0 0 200px rgba(255, 255, 255, 0.3);
    filter: blur(10px);
}


0

คำตอบนี้มีไว้สำหรับเค้าโครงบัตรแนวนอนการออกแบบวัสดุที่มีความสูงแบบไดนามิกและภาพ

เพื่อป้องกันความผิดเพี้ยนของภาพเนื่องจากความสูงแบบไดนามิกของการ์ดคุณสามารถใช้ภาพตัวยึดพื้นหลังพร้อมเบลอเพื่อปรับการเปลี่ยนแปลงความสูง

 

คำอธิบาย

  • การ์ดบรรจุอยู่ในกล่องหุ้ม<div>คลาสซึ่งเป็น flexbox
  • การ์ดประกอบด้วยสององค์ประกอบภาพที่เป็นลิงค์และเนื้อหา
  • การเชื่อมโยง<a>ระดับการเชื่อมโยงอยู่ในตำแหน่ง ญาติ
  • การเชื่อมโยงประกอบด้วยสององค์ประกอบย่อย, ตัวยึด<div>ชั้นเบลอและ<img>ระดับรูปซึ่งเป็นภาพที่ชัดเจน
  • ทั้งสองอยู่ในตำแหน่งที่แน่นอนและมีwidth: 100%แต่รูปชั้นมีลำดับสแต็กที่สูงขึ้นเช่นz-index: 2ซึ่งวางไว้เหนือตัวยึด
  • ภาพพื้นหลังสำหรับตัวยึดที่เบลอนั้นถูกตั้งค่าผ่านทางรูปแบบอินไลน์ใน HTML

 

รหัส

.wrapper {
  display: flex;
  width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.16);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.16), 0 1px 1px rgba(0, 0, 0, 0.23);
  background-color: #fff;
  margin: 1rem auto;
  height: auto;
}

.wrapper:hover {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.link {
  display: block;
  width: 200px;
  height: auto;
  overflow: hidden;
  position: relative;
  border-right: 2px solid #ddd;
}

.blur {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  filter: blur(5px);
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
}

.pic {
  width: calc(100% - 20px);
  max-width: 100%;
  height: auto;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}

.pic:hover {
  transition: all 0.2s ease-out;
  transform: scale(1.1);
  text-decoration: none;
  border: none;
}

.content {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  padding: 20px;
  overflow-x: hidden;
}

.text {
  margin: 0;
}
<div class="wrapper">
  <a href="#" class="link">
    <div class="blur" style="background: url('http://www.planwallpaper.com/static/assets/img/header.jpg') 50% 50% / cover;"></div>
    <img src="http://www.planwallpaper.com/static/assets/img/header.jpg" alt="Title" class="pic" />
  </a>

  <div class="content">
    <p class="text">Agendum dicendo memores du gi ad. Perciperem occasionem ei ac im ac designabam. Ista rom sibi vul apud tam. Notaverim to extendere expendere concilium ab. Aliae cogor tales fas modus parum sap nullo. Voluntate ingressus infirmari ex mentemque ac manifeste
      eo. Ac gnum ei utor sive se. Nec curant contra seriem amisit res gaudet adsunt. </p>
  </div>
</div>


0

ตอนนี้กลายเป็นเรื่องง่ายและยืดหยุ่นมากขึ้นโดยใช้ CSS GRID คุณเพียงแค่ต้องซ้อนพื้นหลัง blured (imgbg) กับข้อความ (h2)

<div class="container">
 <div class="imgbg"></div>
 <h2>
  Lorem ipsum dolor sit amet consectetur, adipisicing elit. Facilis enim
  aut rerum mollitia quas voluptas delectus facere magni cum unde?:)
 </h2>
</div>

และ CSS:

.container {
        display: grid;
        width: 30em;
      }

.imgbg {
        background: url(bg3.jpg) no-repeat center;
        background-size: cover;
        grid-column: 1/-1;
        grid-row: 1/-1;
        filter: blur(4px);
      }


     .container h2 {
        text-transform: uppercase;
        grid-column: 1/-1;
        grid-row: 1/-1;
        z-index: 2;
      }

0
$fondo: url(/grid/assets/img/backimage.png);    
{ padding: 0; margin: 0; } 
body { 
    ::before{
        content:"" ; height: 1008px; width: 100%; display: flex; position: absolute; 
        background-image: $fondo ; background-repeat: no-repeat ; background-position: 
        center; background-size: cover; filter: blur(1.6rem);
    }
}

1
การเพิ่มคำอธิบายให้กับคำตอบของคุณจะดีมาก
Arvind Maurya

Whit Sass ฉันใส่รหัสถัดไปและฉันวาดรายการทั้งหมดในร่างกายอาจขอความช่วยเหลือให้มีเพียงภาพบนพื้นหลังของร่างกาย ????? $ fondo: url (/grid/assets/img/backimage.png); {padding: 0; กำไรขั้นต้น: 0; } เนื้อหา {:: ก่อน {เนื้อหา: ""; ความสูง: 1008px; ความกว้าง: 100%; แสดงผล: ดิ้น; ตำแหน่ง: สัมบูรณ์; ภาพพื้นหลัง: $ fondo; พื้นหลังซ้ำ: ไม่ทำซ้ำ; พื้นหลังตำแหน่ง: ศูนย์; ขนาดพื้นหลัง: ปก; ตัวกรอง: เบลอ (1.6rem); }}
Carlos Boyzo

0

โดยไม่ต้องใช้คลาสหลอกจาก

body{
    background:#cecece;
    font-family: "Scope One", serif;
    font-size: 12px;
    color:black;
    margin:0 auto;
    height:100%;
    width:100%;
    background-image: 
       linear-gradient(to bottom, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.81)), 
        url(https://i.imgur.com/2rRMQh7.jpg);
       -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover; 
}
<body></body>


-6

หากคุณต้องการเลื่อนเนื้อหาให้ตั้งตำแหน่งของเนื้อหาเป็นสัมบูรณ์:

content {
   position: absolute;
   ...
}

ฉันไม่รู้ว่านี่เป็นเพียงสำหรับฉัน แต่ถ้าไม่ใช่นั่นคือการแก้ไข!

นอกจากนี้ตั้งแต่พื้นหลังได้รับการแก้ไขก็หมายความว่าคุณมี"Parallax"ผล! ดังนั้นตอนนี้ไม่เพียง แต่คนนี้จะสอนคุณถึงวิธีการทำฉากหลังพร่ามัว แต่ยังเป็นเอฟเฟกต์ฉากหลังแบบพารัลแลก!


4
ไม่ตอบคำถาม
gorn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.