cari

Rumah  >  Soal Jawab  >  teks badan

Cara menggunakan penapis CSS pada imej latar belakang

<p>Saya mempunyai fail JPEG yang saya gunakan sebagai imej latar belakang untuk halaman carian saya dan saya menyediakannya menggunakan CSS kerana saya bekerja dalam konteks Backbone.js: </p> <pre class="brush:php;toolbar:false;">background-image: url("whatever.jpg");</pre> <p>Saya mahu menggunakan penapis kabur CSS 3 pada latar belakang sahaja, tetapi saya tidak pasti cara menggayakan elemen itu sahaja. Jika saya mencuba: </p> <pre class="brush:php;toolbar:false;">-webkit-filter: blur(5px); -moz-filter: blur(5px); -o-penapis: blur(5px); -ms-filter: blur(5px); penapis: kabur(5px);</pre> <p>Tepat di bawah <code>background-image</code> dalam CSS saya, ia menggayakan keseluruhan halaman, bukan hanya latar belakang. Adakah terdapat cara untuk memilih imej sahaja dan menggunakan penapis padanya? Sebagai alternatif, adakah terdapat cara untuk mematikan sahaja kesan kabur untuk elemen lain pada halaman? </p>
P粉722409996P粉722409996466 hari yang lalu526

membalas semua(2)saya akan balas

  • P粉976737101

    P粉9767371012023-08-22 00:29:06

    pen

    Menghapuskan keperluan untuk elemen tambahan dan menyesuaikan kandungan dengan aliran dokumen dan bukannya tetap/mutlak seperti penyelesaian lain.

    Dicapai menggunakan:

    .content {
      /* this is needed or the background will be offset by a few pixels at the top */
      overflow: auto;
      position: relative;
    }
    
    .content::before {
      content: "";
      position: fixed;
      left: 0;
      right: 0;
      z-index: -1;
    
      display: block;
      background-image: url('https://i.imgur.com/lL6tQfy.png');
      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);
    }
    <div class="content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>

    Edit Jika anda ingin mengeluarkan sempadan putih di tepi, gunakan kiri dan atas 110%的宽度和高度以及-5%. Ini akan membesarkan sedikit latar belakang anda - tetapi tidak sepatutnya terdapat pendarahan warna pepejal melalui tepi. Terima kasih kepada Chad Fawcett atas cadangan itu.

    .content {
      /* this is needed or the background will be offset by a few pixels at the top */
      overflow: auto;
      position: relative;
    }
    
    .content::before {
      content: "";
      position: fixed;
      top: -5%;
      left: -5%;
      right: -5%;
      z-index: -1;
    
      display: block;
      background-image: url('https://i.imgur.com/lL6tQfy.png');
      background-size:cover;
      width: 110%;
      height: 110%;
    
      -webkit-filter: blur(5px);
      -moz-filter: blur(5px);
      -o-filter: blur(5px);
      -ms-filter: blur(5px);
      filter: blur(5px);
    }
    <div class="content">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>

    balas
    0
  • P粉823268006

    P粉8232680062023-08-22 00:05:21

    Lihat ini pen.

    Anda perlu menggunakan dua bekas berbeza, satu untuk imej latar belakang dan satu lagi untuk kandungan.

    Dalam contoh, saya mencipta dua bekas, .background-image.content.

    Mereka semua menggunakan nilai position: fixedleft: 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>

    balas
    0
  • Batalbalas