HTML,js复制文本,输入框或div都能用

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <title>Title</title>
  </head>

  <style type="text/css">
    *{
      -webkit-user-select: auto;
    }
  </style>

  <body>
    <span id="content">
      你好,好久不见!
    </span>

    <input type="text" id="abc">
    <button id="copyBT">复制</button>
    <script>
      function copyArticle(event) {
        const range = document.createRange();
        range.selectNode(document.getElementById('abc'));

        const selection = window.getSelection();
        if(selection.rangeCount > 0) selection.removeAllRanges();
        selection.addRange(range);
        document.execCommand('copy');
        alert("复制成功!");
      }

      document.getElementById('copyBT').addEventListener('click', copyArticle, false);
    </script>
  </body>

</html>


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用以下HTML和CSS代码来创建带行号文本输入框并美化背景: HTML代码: ``` <div class="code-container"> <div class="line-numbers"></div> <textarea class="code-input" placeholder="输入代码"></textarea> </div> ``` CSS代码: ``` .code-container { position: relative; width: 100%; height: 500px; } .line-numbers { position: absolute; top: 0; left: 0; width: 40px; height: 100%; font-size: 14px; line-height: 20px; color: #999; text-align: right; padding-right: 10px; box-sizing: border-box; } .code-input { position: absolute; top: 0; left: 40px; width: calc(100% - 40px); height: 100%; font-size: 14px; line-height: 20px; color: #333; background-color: #f5f5f5; border: none; padding: 10px; box-sizing: border-box; } .code-input:focus { outline: none; } /* Optional: Add a border to the code container */ .code-container { border: 1px solid #ccc; border-radius: 5px; overflow: hidden; } ``` 这里使用了 `<div>` 元素作为代码容器,包含两个子元素,一个用于显示行号,另一个用于输入代码。CSS代码分别对这两个元素进行了样式设置,并添加了背景颜色和边框等效果,可以根据需要进行调整。 ### 回答2: 要实现带行号的文本输入框且行号自动递增,并美化背景,可以使用HTML代码和CSS样式来完成。 首先,我们需要创建一个HTML文档,并添加一个包含行号和文本输入框的区域。可以使用一个div元素来包裹行号和文本输入框,并设置相应的样式。 HTML代码如下: ``` <!DOCTYPE html> <html> <head> <style> .container { display: flex; background-color: #f1f1f1; } .line-numbers { width: 30px; padding: 10px; background-color: #ccc; text-align: center; font-family: monospace; } .text-input { flex-grow: 1; padding: 10px; font-family: monospace; background-color: #f1f1f1; border: none; } </style> </head> <body> <div class="container"> <div class="line-numbers"> 1<br> 2<br> 3<br> <!-- 以此类推,可以使用JavaScript动态生成行号 --> </div> <textarea class="text-input"></textarea> </div> </body> </html> ``` 上述代码,我们使用了flex布局来实现行号和文本输入框的排列。行号父容器的样式设置了背景颜色和文本显示,采用等宽字体以保持行号的对齐。文本输入框的样式设置了占满剩余空间并设置了背景颜色,同时去除了边框。 通过以上HTML代码,我们可以实现带行号的文本输入框,并通过CSS样式美化其背景颜色。点击[此处](https://codepen.io/pen/)可以在CodePen上查看并编辑示例代码。 ### 回答3: 你可以使用HTML和CSS代码来创建一个带有行号且行号自动递增的文本输入框,并美化它的背景。以下是一个可能的示例代码: HTML代码: ```html <!DOCTYPE html> <html> <head> <title>带行号的文本输入框</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="container"> <div class="line-number"></div> <textarea id="text-input" oninput="updateLineNumber()"></textarea> </div> <script> function updateLineNumber() { var textarea = document.getElementById("text-input"); var lineNumberDiv = document.querySelector(".line-number"); // 统计行数 var lineCount = textarea.value.substr(0, textarea.selectionStart).split("\n").length; var lines = ""; // 生成行号 for (var i = 1; i <= lineCount; i++) { lines += i + "<br>"; } lineNumberDiv.innerHTML = lines; } </script> </body> </html> ``` CSS代码(存储在名为style.css的文件): ```css .container { position: relative; display: flex; } .line-number { position: relative; width: 30px; padding: 10px; font-family: monospace; text-align: right; background-color: #f7f7f7; border-right: 1px solid #ddd; } textarea { flex-grow: 1; padding: 10px; font-family: monospace; background-color: #fff; border: 1px solid #ddd; resize: none; } ``` 这段代码将创建一个容器,其包含一个用于显示行号的`div`元素和一个文本输入框`textarea`。在`updateLineNumber`函数,我们使用JavaScript计算行号,并将其插入到行号`div`。 CSS代码为容器和文本输入框提供了样式,如设置了适当的宽度、间距以及背景颜色。 你可以将HTML代码保存为一个名为"index.html"的文件,并将CSS代码保存为一个名为"style.css"的文件,将这两个文件放在同一目录下,然后在浏览器打开"index.html"文件,就可以看到带有行号且行号自动递增的文本输入框,并带有美化的背景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值