进入的页面样式图
留言板的效果图 
嘿嘿,开头还有js的prompt警示框
/// 开始上代码! ///
1-HTML5相关代码:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="留言板.css"> </head> <body> <i> <h1>留言板</h1> </i> <hr> <ul class="a"></ul> <div class="container"> <p class="bth">     提交文件<input type="file"></p> <input type="text" placeholder="请输入昵称:" name="name" id="nameInput"> <textarea placeholder="请留言" name="pwd" id="textarea" cols="36" rows="16">请你留言:</textarea> <br> <button class="sub">发布</button> </div> <script> prompt('你好,欢迎进入留言板'); prompt('亲,留言完记得点击按钮上传'); </script> <script src="1111111.js"></script> </body> </html>
复制
2-css3样式代码:
* { margin: 0; padding: 0; box-sizing: border-box; } /* 整体布局 */ body { background-image: url("Hai2.jpg"); background-size: cover; background-position: center; font-family: Arial, sans-serif; } .container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; } h1 { text-align: center; margin-bottom: 20px; color: #000000; } ul { list-style-type: none; margin-bottom: 20px; align-items: center; justify-content: center; } li { padding: 10px; border-bottom: 1px solid #ccc; text-align: center; } textarea { width: 100%; padding: 10px; margin-bottom: 10px; resize: vertical; border: 1px solid #ccc; border-radius: 5px; font-family: Arial, sans-serif; } /* 输入框背景色修改 */ textarea, input[type="text"] { background-color: rgb(117, 223, 188); } input[type="text"] { width: 100%; padding: 10px; margin-bottom: 10px; border: 1px solid #ccc; border-radius: 5px; font-family: Arial, sans-serif; } .name { color: yellow; font-weight: bold; } button.sub { background-color: #4caf50; color: #fff; border: none; padding: 15px 30px; border-radius: 5px; cursor: pointer; font-size: 18px; } button.sub:hover { background-color: #45a049; } button.remove { background-color: #f44336; color: #fff; border: none; padding: 5px 10px; border-radius: 3px; cursor: pointer; } button.remove:hover { background-color: #e53935; } /* 添加button渐变效果 */ .sub{ padding: 1rem 2.5rem; border:none; outline:none; border-radius: 0.4rem; background-color: rgb(14,14, 26); color:rgb(234, 234, 234); box-shadow: 0px 0px 60px #1471a2; /* 设置盒子反射 */ -webkit-box-reflect: /* 反射设置在底部 */ below 10px linear-gradient( /* 设置渐变色 */ to bottom, rgba(0,0,0,0.0) rgba(0,0,0,0.4) ); } /* 设置悬浮样式 */ .sub:hover{ background: linear-gradient( 270deg, rgba(178, 210, 133, 0.681)0%, rgba(31,215,232,0.873)60%); color: rgb(4,4,38);textarea, input[type="text"] { /* 其他样式规则 */ width: 50%; } } .sub{ transition:1s } /* 输入框背景色修改 */ textarea, input[type="text"] { background-color: rgb(164, 237, 213); width: 50%; }
复制
3-javascript完整代码:
var btn = document.querySelector('button.sub'); var text = document.querySelector('#textarea'); var nameInput = document.querySelector('#nameInput'); var ul = document.querySelector('ul'); btn.onclick = function() { if (text.value === '' || nameInput.value === '') { alert('你没有输入内容或昵称,不能进行此操作'); return false; } else { var li = document.createElement('li'); var date = new Date(); var dateString = date.toLocaleString(); li.innerHTML = '<span class="name">' + nameInput.value + '</span><span class="date">' + dateString + '</span><br><span class="message">' + text.value + '</span>'; var button = document.createElement('button'); button.className = 'remove'; button.innerHTML = '消除记录'; button.onclick = function() { ul.removeChild(this.parentNode); }; li.appendChild(button); ul.appendChild(li); text.value = ''; nameInput.value = ''; } };
复制
对了,背景图放这里啦,记得添加
代码详细解释:
HTML:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="留言板.css"> </head>
复制
这是HTML文档的开头,定义了文档类型为HTML。 在标签中,通过标签引入了一个名为"留言板.css"的外部样式表文件。<head>
<link>
<body> <i> <h1>留言板</h1> </i> <hr> <ul class="a"></ul>
复制
<body>
标签表示网页的主体内容,从这里开始展示给用户。 在这里,使用标签将后续内容显示为斜体,并使用标签显示标题为"留言板"。 接着,使用标签插入一条水平线,然后使用标签创建一个无序列表,其中属性设置为"a",用于后续的样式设置。
<div class="container"> <p class="bth">     提交文件<input type="file"></p> <input type="text" placeholder="请输入昵称:" name="name" id="nameInput"> <textarea placeholder="请留言" name="pwd" id="textarea" cols="36" rows="16">请你留言:</textarea> <br> <button class="sub">发布</button> </div>
复制
在一个定义类名为"container"的容器内,包含了一些表单元素。 首先是一个p标签,设置了属性为"bth",其中包含了一段文字和一个标签,type类型为"file",用于上传文件。 接着是一个标签,类型为"text",用于输入昵称。 然后是一个标签,设置了属性为"请留言",属性为"pwd",属性为"textarea",并设置了列数和行数。 之后是一个标签,用于插入一个换行。 最后是一个标签,设置了属性为"sub",按钮显示文本为"发布"。"""按钮用css添加了炫彩渐变的效果"""可以弄出来试试哈、
CSS:
* { margin: 0; padding: 0; box-sizing: border-box; }
复制
这段代码使用了通用选择器*
,将页面中所有元素的外边距和内边距设置为0,并将box-sizing
属性设置为border-box
,以确保元素的宽度和高度包括边框和内边距。
body { background-image: url("Hai2.jpg"); background-size: cover; background-position: center; font-family: Arial, sans-serif; }
复制
这段代码为<body>
元素设置了背景图片为"Hai2.jpg",使用background-size: cover
让背景图片自适应页面大小并覆盖整个页面,使用background-position: center
将背景图片居中显示。 还设置了页面的默认字体为Arial和sans-serif。
.container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; }
复制
这段代码为具有class
属性为"container"的<div>
容器设置了一些样式。 使用display: flex
创建了一个弹性布局容器,flex-direction: column
将其内部元素垂直排列,align-items: center
和justify-content: center
将元素在容器中水平和垂直居中,height: 100vh
设置容器的高度为视窗高度。
h1 { text-align: center; margin-bottom: 20px; color: #000000; }
复制
这段代码为<h1>
标题元素设置样式。text-align: center
将标题居中对齐,margin-bottom: 20px
设置标题下方的外边距为20像素,color: #000000
将标题颜色设置为黑色。
ul { list-style-type: none; margin-bottom: 20px; align-items: center; justify-content: center; } li { padding: 10px; border-bottom: 1px solid #ccc; text-align: center; }
复制
这段代码为无序列表<ul>
和列表项<li>
设置样式。list-style-type: none
去除了列表的默认样式,margin-bottom: 20px
设置列表的下方外边距为20像素。 列表项<li>
设置了10像素的内边距和底边框,以及居中对齐文本。
textarea, input[type="text"] { width: 100%; padding: 10px; margin-bottom: 10px; resize: vertical; border: 1px solid #ccc; border-radius: 5px; font-family: Arial, sans-serif; }
复制
这段代码为和元素设置了一些共同的样式。 `width: 100<textarea>
<input>
width: 100%
将宽度设置为父元素的100%,padding: 10px
设置内边距为10像素,margin-bottom: 10px
设置下方外边距为10像素。resize: vertical
允许垂直调整<textarea>
元素的大小。border: 1px solid #ccc
设置了1像素的边框,border-radius: 5px
设置了边框的圆角为5像素,font-family: Arial, sans-serif
设置字体为Arial和sans-serif。
textarea, input[type="text"] { background-color: rgb(117, 223, 188); }
复制
这段代码设置了留言框和昵称框的背景颜色为RGB值(117, 223, 188),即一种绿色
button.sub { background-color: #4caf50; color: #fff; border: none; padding: 15px 30px; border-radius: 5px; cursor: pointer; font-size: 18px; } button.sub:hover { background-color: #45a049; } button.remove { background-color: #f44336; color: #fff; border: none; padding: 5px 10px; border-radius: 3px; cursor: pointer; } button.remove:hover { background-color: #e53935; }
复制
这段代码为两个按钮设置了样式。 `button.subbutton.sub:hover
表示鼠标悬停在按钮上时的样式,设置了背景颜色为深绿色(#45a049)。
类似地,button.remove
为"删除"按钮设置了样式,包括背景颜色为红色和鼠标悬停时的背景颜色为深红色。
.sub{ padding: 1rem 2.5rem; border:none; outline:none; border-radius: 0.4rem; background-color: rgb(14,14, 26); color:rgb(234, 234, 234); box-shadow: 0px 0px 60px #1471a2; -webkit-box-reflect: below 10px linear-gradient( to bottom, rgba(0,0,0,0.0) rgba(0,0,0,0.4) ); } .sub:hover{ background: linear-gradient( 270deg, rgba(178, 210, 133, 0.681)0%, rgba(31,215,232,0.873)60%); color: rgb(4,4,38);textarea, input[type="text"] { width: 50%; }
复制
这段代码为类名为"sub"的按钮设置了更多的样式,包括内边距、边框、背景颜色、文字颜色、阴影效果和反射效果。 `button.sub:hover
这是给留言板添加样式和布局的CSS代码。
js代码:
var btn = document.querySelector('button.sub'); var text = document.querySelector('#textarea'); var nameInput = document.querySelector('#nameInput'); var ul = document.querySelector('ul');
复制
这段代码使用document.querySelector
选择器获取了提交按钮、文本区域、昵称输入框和无序列表的引用。 通过这些引用,可以对它们进行操作。
btn.onclick = function() { if (text.value === '' || nameInput.value === '') { alert('你没有输入内容或昵称,不能进行此操作'); return false; } else { var li = document.createElement('li'); var date = new Date(); var dateString = date.toLocaleString(); li.innerHTML = '<span class="name">' + nameInput.value + '</span><span class="date">' + dateString + '</span><br><span class="message">' + text.value + '</span>'; var button = document.createElement('button'); button.className = 'remove'; button.innerHTML = '消除记录'; button.onclick = function() { ul.removeChild(this.parentNode); }; li.appendChild(button); ul.appendChild(li); text.value = ''; nameInput.value = ''; } };
复制
这段代码为提交按钮绑定了一个点击事件处理程序。 当用户点击按钮时,将执行以下操作:
- 检查文本区域和昵称输入框是否为空。 如果为空,弹出警告框提示用户没有输入内容或昵称,并返回`false
- 如果文本区域和昵称输入框都有值,将创建一个新的列表项
<li>
元素,并为其设置内容。 内容包括昵称、日期、留言文本和一个"消除记录"的按钮。 - 为"消除记录"按钮绑定一个点击事件处理程序。 当用户点击该按钮时,将从无序列表中移除对应的列表项。
- 将按钮添加到列表项中,然后将列表项添加到无序列表中。
- 清空文本区域和昵称输入框的值,以便用户可以继续输入新的留言。
这段代码使得点击发布按钮时,会根据用户输入的昵称和留言内容,创建一个新的留言记录,并显示在留言板上。 同时,还提供了删除留言记录的功能。
好啦,亲爱的小伙伴们都到这里了,就麻烦转发给你的朋友吧,一键三连给博主走起!!!