Saya pikir jawabannya tidak, tetapi bisakah Anda memposisikan gambar latar belakang dengan CSS, sehingga itu adalah jumlah piksel yang tetap jauh dari kanan?
Jika saya mengatur background-position
nilai x dan y, tampaknya mereka hanya memberikan penyesuaian piksel tetap dari kiri dan atas masing-masing.
Jawaban:
Ini berfungsi di sebagian besar browser. Lihat: http://caniuse.com/#feat=css-background-offsets untuk daftar lengkap.
Informasi lebih lanjut: http://www.w3.org/TR/css3-background/#the-background-position
sumber
Dimungkinkan untuk menggunakan atribut
border
sepanjang dari kanansumber
Ada satu cara tetapi tidak didukung di setiap browser (lihat cakupan di sini )
Ini bekerja di setiap browser modern , tetapi ada kemungkinan bahwa IE9 mogok . Juga tidak ada cakupan untuk = <IE8.
sumber
background-position-x: calc(90%);
- yaitu hanya mengurangi 10% dari 100%Sejauh yang saya tahu, spesifikasi CSS tidak memberikan apa yang Anda minta, di luar ekspresi CSS, tentu saja. Menolak asumsi bahwa Anda tidak ingin menggunakan ekspresi atau Javascript, saya melihat tiga solusi peretasan:
background-repeat: repeat
ataurepeat-x
jika hanya lebarnya yang disamakan. Kemudian, memiliki sesuatu yang munculx
piksel dari kanan semudahbackground-position: -5px 0px
.background-position
menunjukkan perilaku khusus yang lebih baik dilihat daripada yang dijelaskan di sini. Cobalah. Pada dasarnya,background-position: 90% 50%
akan membuat tepi kanan garis gambar latar naik 10% dari tepi kanan wadah.position: relative
jika belum diatur. Atur wadah gambar keposition: absolute; right: 10px; top: 10px;
, jelas menyesuaikan dua final sesuai keinginan Anda. Tempatkan wadah gambar div ke dalam elemen yang mengandung.sumber
Coba ini:
Perhatikan bahwa kode di atas akan memindahkan seluruh elemen (bukan hanya gambar latar belakang) 5px dari kanan. Ini mungkin ok untuk kasus Anda.
sumber
Anda dapat melakukannya di CSS3:
Ini bekerja di Firefox, Chrome, IE9 +
Sumber: MDN
sumber
Penanganan masalah gambar dengan piksel transparan di sebelah kanan berfungsi sebagai margin kanan.
Solusi gambar untuk hal yang sama adalah membuat gambar PNG atau GIF (format file gambar yang mendukung transparansi) yang memiliki bagian transparan di sebelah kanan gambar persis sama dengan jumlah piksel yang ingin Anda berikan margin kanan ( mis: 5px, 10px, dll.)
Ini berfungsi dengan baik secara konsisten di seluruh lebar tetap serta lebar dalam persentase. Praktis solusi yang baik untuk header akordeon yang memiliki gambar panah plus / minus atau atas / bawah di kanan header!
Kelemahan: Sayangnya, Anda tidak dapat menggunakan JPG kecuali bagian latar belakang wadah dan warna latar belakang gambar latar belakang CSS memiliki warna datar yang sama (tanpa gradien / sketsa), kebanyakan putih / hitam dll.
sumber
Jika Anda menemukan topik ini di browser modern sekarang ini, Anda dapat menggunakan pseudo-class: setelah itu melakukan apa saja yang praktis dengan latar belakang.
css ini akan menempatkan latar belakang ke sudut kanan bawah elemen ".container" dengan ruang 20px di sisi kanan.
Lihat biola ini misalnya http://jsfiddle.net/h6K9z/226/
sumber
Jawaban yang paling tepat adalah sintaks empat nilai baru untuk posisi latar belakang, tetapi sampai semua browser mendukungnya, pendekatan terbaik Anda adalah kombinasi dari respons sebelumnya dalam urutan berikut:
sumber
Masukkan saja bantalan piksel ke dalam gambar - tambahkan 10px atau apa pun ke ukuran kanvas gambar di photoshop dan selaraskan langsung di CSS.
sumber
Saya sedang mencoba melakukan tugas yang sama untuk mendapatkan panah dropdown selalu di sisi kanan header tabel dan muncul dengan ini yang tampaknya bekerja di Chrome dan Firefox, tetapi safari mengatakan kepada saya itu adalah properti yang tidak valid.
Setelah melakukan sedikit main-main di inspektur, saya datang dengan solusi lintas-browser yang bekerja di IE8 +, Chrome, Firefox, dan Safari, serta desain responsif.
Berikut ini adalah codepen tentang tampilannya dan cara kerjanya. Codepen ditulis dengan SCSS - http://cdpn.io/xqGbk
sumber
Jika Anda hanya ingin menentukan sumbu x, Anda dapat melakukan hal berikut:
sumber
background-position: right -100px center;
Perhatikan bahwa jika Anda menghilangkannyay-position
tidak berfungsi dengan benar karena berpikir untuk apa pikselnya.Solusi lain yang belum pernah saya sebutkan adalah menggunakan elemen pseudo dan saya yakin solusi ini akan bekerja dengan browser yang mendukung CSS 2.1 (≥ IE8, ≥ Safari 2, ...) dan juga harus responsif:
Contoh : Elemen mis. 100px berukuran persegi (tanpa mempertimbangkan batas) memiliki padding 10px dan gambar latar belakang harus ditampilkan di dalam padding kanan. Ini berarti elemen pseudo adalah persegi berukuran 80px. Kami ingin menempelkannya di perbatasan kanan elemen dengan kanan: -10px; . Jika kita ingin memiliki latar belakang-gambar 5px jauh dari perbatasan kanan kita perlu menempelkan elemen pseudo-5px dari perbatasan kanan elemen dengan kanan: -5px; ... Uji sendiri untuk Anda di sini: http://jsfiddle.net/yHucT/
sumber
Jika wadah memiliki ketinggian tetap: Tweek persentasenya (posisi latar belakang) sampai pas dengan benar.
Jika wadah memiliki ketinggian dinamis: Jika Anda ingin bantalan antara latar belakang dan wadah Anda (seperti saat input styling khusus, pilih), tambahkan padding Anda ke gambar Anda dan atur posisi latar belakang ke kanan atau bawah.
Saya tersandung pada pertanyaan ini ketika saya mencoba untuk mendapatkan latar belakang untuk kotak pilih agar sesuai katakan 5 px dari kanan pilih saya. Dalam kasus saya, latar belakang saya adalah panah bawah yang akan menggantikan ikon drop-down dasar. Dalam kasus saya, padding akan selalu tetap sama (5-10 piksel dari kanan) untuk latar belakang, jadi ini adalah modifikasi yang mudah untuk membawa ke gambar latar belakang yang sebenarnya (membuat dimensinya 5-10 piksel lebih lebar di sisi kanan.
Semoga ini membantu!
sumber
Anda dapat memposisikan gambar latar belakang dalam editor menjadi x piksel dari sisi kanan.
Gambar latar belakang akan diposisikan di kanan atas, tetapi akan tampak x piksel dari kanan.
sumber
Persentase Tweet dari kiri agak rapuh untuk selera saya. Ketika saya membutuhkan sesuatu seperti ini, saya cenderung menambahkan penataan wadah saya ke elemen pembungkus dan kemudian menerapkan latar belakang pada elemen dalam dengan
background-position: right bottom
The
.content-breakout
kelas opsional dan akan memungkinkan konten Anda untuk makan dalam padding jika diperlukan (nilai margin yang negatif harus sesuai dengan nilai-nilai yang sesuai di padding wrapper). Ini sedikit bertele-tele, tetapi bekerja dengan andal tanpa harus khawatir tentang posisi relatif gambar dibandingkan dengan lebar dan tinggi.sumber
Sudah lama sejak pertanyaan ini diajukan, tetapi saya hanya mengalami masalah ini dan saya mendapatkannya dengan melakukan:
sumber
Solusi untuk nilai negatif. Sesuaikan bantalan-kanan untuk memindahkan gambar.
sumber
Ini berfungsi di Chrome 27, saya tidak tahu apakah itu valid atau tidak atau apa yang browser lain lakukan dengannya. Saya terkejut tentang hal ini.
sumber
Berfungsi untuk semua browser nyata (dan untuk IE9 +):
Saya menggunakannya untuk tema RTL WordPress. Lihat contoh: situs web sementara atau situs web sebenarnya akan segera aktif. Lihatlah ikon di sudut kanan DIV besar.
sumber
Lebih baik untuk semua latar belakang: url ('../ images / bg-menu-dropdown-top.png') meninggalkan 20px atas tanpa-ulangi! Penting;
sumber