<section class="upload-section">
<article class="upload-piclist">
<div class="upload-file">
<input type="file" id="file" accept="image/*" multiple onchange="imgChange()"/>
</div>
</article>
</section>
css:
/* body {
margin: 0
padding: 0
max-width: 414px
margin: 0 auto
} */
.upload-fh {
background-image: url('data:image/pngbase64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAD1klEQVRoQ+XbTYhWVRgH8P8fwZUguFKi2pShbvqg2lhhG0PJlc40zQg62WhDg+jklIo1wViUNgwVTGSWWMngyvCjVdLHLrHaJaOBIIK2DHL7lweegcvL48D7vveee7xztu+d972/Ofec8zznPJe4T5qkRQC2AVgP4A8AMySvt3v7bPcP6rhe0lIAJwFsKvz+CZLb272f7MGSHnDsiy24WZKPNQosyUDWs88EsEGS3zQGLOkpx64OUG+T/LhdrF2f5SMt6QXHPhSghklOd4LNEixpo2OXBaitJL/rFJsdWFKvYxe3oO4A6Cd5phtsVmBJrwH4KgD9C+BVkj91i80GLGk3gKkA9I9jfy8DmwVY0kEAEwHoL8f+XRa2drCkDwG8E4B+A9BH8maZ2FrBkj4D8GYA+hHAKyT/KxtbG1iSRUiWCLS2045VFdjkYEm23HwPYHMAOk5yR1XQue9NFmlJskDCsC8FqCmSe6rGJuthSRYiGnZtgJogeSgFNglYkgX/hn08QI2RPJIKWzlYkqV1hn0kQL1B8ouU2ErBkixhN+zyADVA0j5L3iqZtCTZVoyBlrSILAmwNfZscqn/YOlgSf0AohTOkoBekj/XhS39kZa0E0A0Li0JMOzlOrGlgiWNAjgagCwJ6CF5tW5saWBJ7wEYD0CWBBj2Vg7YUsCSbB19KwBdcOz/uWC7BkuyzbRdAchOBfpygs7dS8eztKRvAQwEqGMkh3LEdtzDkj4CMBagJkna5JVt66iHJUX56jjJ97OVdhN4SLJtGdueaW3N7GFTLqgxPNetC2qWLqDtUGtf8Hif93CyOetwAf0ugGjC+tXRzYm0Cui9AD4JevpPRzcnli6gXwfwZYC+5mGm4WttHa3D892xJAspTwXX3Pae/qVOcelgX7JednS042F58bm60JWAHb3Ot3lWBDg7N5qpA10Z2NFPO/rRADdE8lhqdKVgR69y9BMBbpTkZEp05WBHP+jo5wJc0qQjCdjRdrZkOfSGAJ0s6UgGdrSdHhq6J0An2ThICi4EKMcBDAZom7mtgKUZ58NFoCQrYrFiltZmSYehm1MBUOjpwwAOBGhLOgzdnBqPAno/gA8CtMXdhr5S5rJVyxhuBUgaAfBpALOkw9CXykJnAfYZ3Iq9vw5glnQY+mIZ6GzAjt7iJ49RraWhf+gWnRXY0RaY2Frd/GrawkT2vFfVPhz0aLPqpQvoJx29JkA3qyK+gF7p6GcD9AjJz9sd09mN4WDJutdbLTdIRq8IzPs/yB7sE9nCeW+p8Hjbm2nDAKwcahbAdGPfTGt3nM53/V00ckNMKWY8LAAAAABJRU5ErkJggg==')
background-repeat: no-repeat
background-size: 100% 100%
height: 30px
width: 30px
}
.upload-hedaer {
height: 55px
display: grid
grid-template-columns: repeat(3, 1fr)
padding: 0 10px
box-sizing: border-box
align-items: center
text-align: center
background: #287cff
color: #fff
border-bottom: 1px solid #efefef
font-size: 19px
}
.upload-hedaer div:last-child {
text-align: right
}
.upload-textarea {
width: 100%
height: 60px
font-size: 28px
border: 1px solid #efefee
max-height: 300px
}
.upload-article-text {
width: 100%
padding: 10px
box-sizing: border-box
}
.upload-file {
position: relative
background: url('../images/z_add.png') no-repeat 50%/100% 100%
/* width: 100px*/
height: 120px
order: 9
}
.upload-piclist {
padding: 0 10px
box-sizing: border-box
display: grid
grid-template-columns: repeat(3, 120px)
justify-content: space-between
grid-gap: 14px
}
#file {
width: 100%
height: 100%
opacity: 0
}
.upload-Picitem {
width: 100%
height: 120px
}
.upload-Picitem>img {
width: 100%
height: 100%
object-fit: cover
}
.submit {
padding: 15px 0
background-color: #287cff
color: #fff
text-align: center
margin: 10px
font-size: 20px
border-radius: 10px
}
.upload-sm {
padding: 10px
box-sizing: border-box
color: gray
}
.upload-sm ol>li {
margin-bottom: 10px
}
js:let picmax = 9//限制上传数量
function imgChange() {
let file = document.getElementById('file').files
let imglist = document.querySelectorAll('.upload-Picitem')
let piclist = document.getElementsByClassName('upload-piclist')[0]
let filelist = file.length + imglist.length >picmax ? 9 - imglist.length : file.length + imglist.length
if (file.length + imglist.length >= 9) {
let uploadfile = document.getElementsByClassName('upload-file')[0]
uploadfile.style.display = "none"
}
for (let i = 0i <filelisti++) {
readerfile(file[i]).then(e =>{
let html = document.createElement('div')
html.className = 'upload-Picitem'
html.innerHTML = '<img src=' + e + ' alt="pic">'
piclist.appendChild(html)
})
}
}
function readerfile(file) {
return new Promise((resolve, reject) =>{
let reader = new FileReader()
reader.addEventListener("load", function() {
resolve(reader.result)
}, false)
if (file) {
reader.readAsDataURL(file)
}
})
}
//提交
function submit() {
let imglist = []
let text = document.getElementsByClassName('upload-textarea')[0].value
let piclist = document.querySelectorAll('.upload-Picitem')
for (let i = 0i <piclist.lengthi++) {
imglist.push(piclist[i].lastChild.src)
}
console.log("发布内容:", text)
console.log("图片列表:", imglist)
}
//textarea高度自适应
var autoTextarea = function(elem, extra, maxHeight) {
extra = extra || 0
var isFirefox = !!document.getBoxObjectFor || 'mozInnerScreenX' in window,
isOpera = !!window.opera &&!!window.opera.toString().indexOf('Opera'),
addEvent = function(type, callback) {
elem.addEventListener ?
elem.addEventListener(type, callback, false) :
elem.attachEvent('on' + type, callback)
},
getStyle = elem.currentStyle ? function(name) {
var val = elem.currentStyle[name]
if (name === 'height' &&val.search(/px/i) !== 1) {
var rect = elem.getBoundingClientRect()
return rect.bottom - rect.top -
parseFloat(getStyle('paddingTop')) -
parseFloat(getStyle('paddingBottom')) + 'px'
}
return val
} : function(name) {
return getComputedStyle(elem, null)[name]
},
minHeight = parseFloat(getStyle('height'))
elem.style.resize = 'none'
var change = function() {
var scrollTop, height,
padding = 0,
style = elem.style
if (elem._length === elem.value.length) return
elem._length = elem.value.length
if (!isFirefox &&!isOpera) {
padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom'))
}
scrollTop = document.body.scrollTop || document.documentElement.scrollTop
elem.style.height = minHeight + 'px'
if (elem.scrollHeight >minHeight) {
if (maxHeight &&elem.scrollHeight >maxHeight) {
height = maxHeight - padding
style.overflowY = 'auto'
} else {
height = elem.scrollHeight - padding
style.overflowY = 'hidden'
}
style.height = height + extra + 'px'
scrollTop += parseInt(style.height) - elem.currHeight
document.body.scrollTop = scrollTop
document.documentElement.scrollTop = scrollTop
elem.currHeight = parseInt(style.height)
}
}
// addEvent('propertychange', change)
// addEvent('input', change)
// addEvent('focus', change)
change()
}
pic:z_add.png
html5网页背景图手动上传切换代码这样写。1、html5网页背景图手动上传切换代码需要在网页上点击鼠标右键查看网站源代码。
2、找到css里面的背景图这一段代码,查看背景图路径,通过ftp或者服务器进行替换图片即可。