|
1516 | 1516 | max-width: 720px; |
1517 | 1517 | margin: 0 auto; |
1518 | 1518 | display: flex; |
1519 | | - align-items: center; |
| 1519 | + flex-direction: column; |
| 1520 | + align-items: stretch; |
| 1521 | + gap: 0px; |
1520 | 1522 | box-sizing: border-box; |
1521 | | - /* 使最大宽度包含边框和内边距,保证与消息列对齐 */ |
1522 | 1523 | border: 1px solid rgba(148, 163, 184, 0.35); |
1523 | 1524 | border-radius: 12px; |
1524 | 1525 | background: var(--bg-color); |
1525 | 1526 | box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12); |
1526 | | - padding: 12px 50px 12px 56px; |
1527 | | - /* 略增上下内边距,稳定整体高度 */ |
1528 | | - min-height: 56px; |
1529 | | - /* 稍增最小高度,确保按钮始终可居中 */ |
| 1527 | + padding: 10px 14px 12px; |
| 1528 | + min-height: 58px; |
1530 | 1529 | transition: border-color 0.2s ease, box-shadow 0.2s ease; |
1531 | 1530 | } |
1532 | 1531 |
|
1533 | | -.dark-mode .chat-input-wrapper { |
1534 | | - border-color: rgba(148, 163, 184, 0.25); |
1535 | | - background: var(--bg-color); |
1536 | | - box-shadow: 0 18px 40px rgba(8, 47, 73, 0.4); |
| 1532 | +.chat-input-body { |
| 1533 | + display: flex; |
| 1534 | + flex-direction: column; |
| 1535 | + gap: 3px; |
| 1536 | +} |
| 1537 | + |
| 1538 | +.chat-input-actions { |
| 1539 | + display: flex; |
| 1540 | + align-items: flex-end; |
| 1541 | + justify-content: space-between; |
| 1542 | + gap: 8px; |
| 1543 | + margin-top: -1px; |
| 1544 | +} |
| 1545 | + |
| 1546 | +.chat-input-action-left { |
| 1547 | + display: flex; |
| 1548 | + align-items: center; |
| 1549 | + gap: 4px; |
1537 | 1550 | } |
1538 | 1551 |
|
1539 | 1552 | #chat-upload-input { |
1540 | 1553 | display: none; |
1541 | 1554 | } |
1542 | 1555 |
|
1543 | 1556 | .chat-upload-btn { |
1544 | | - position: absolute; |
1545 | | - left: 12px; |
1546 | | - top: 50%; |
1547 | | - transform: translateY(-50%); |
1548 | | - width: 32px; |
1549 | | - height: 32px; |
1550 | | - border-radius: 8px; |
| 1557 | + width: 30px; |
| 1558 | + height: 30px; |
| 1559 | + border-radius: 50%; |
1551 | 1560 | border: none; |
1552 | 1561 | background: transparent; |
1553 | 1562 | color: var(--text-muted); |
1554 | 1563 | display: inline-flex; |
1555 | 1564 | align-items: center; |
1556 | 1565 | justify-content: center; |
1557 | 1566 | cursor: pointer; |
1558 | | - transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease; |
| 1567 | + padding: 0; |
| 1568 | + line-height: 1; |
| 1569 | + vertical-align: middle; |
1559 | 1570 | } |
1560 | 1571 |
|
1561 | 1572 | .chat-upload-btn:hover, |
1562 | 1573 | .chat-upload-btn:focus { |
1563 | | - background: rgba(148, 163, 184, 0.2); |
1564 | | - color: var(--text-color); |
1565 | 1574 | outline: none; |
1566 | 1575 | } |
1567 | 1576 |
|
1568 | 1577 | .chat-upload-btn:active { |
1569 | | - transform: translateY(-50%) scale(0.95); |
| 1578 | + transform: scale(0.95); |
1570 | 1579 | } |
1571 | 1580 |
|
1572 | 1581 | .chat-upload-btn[disabled] { |
1573 | 1582 | opacity: 0.6; |
1574 | 1583 | cursor: not-allowed; |
1575 | 1584 | background: transparent; |
1576 | | - transform: translateY(-50%); |
| 1585 | + transform: none; |
| 1586 | +} |
| 1587 | + |
| 1588 | +.dark-mode .chat-upload-btn { |
| 1589 | + color: rgba(226, 232, 240, 0.76); |
1577 | 1590 | } |
1578 | 1591 |
|
1579 | 1592 | .dark-mode .chat-upload-btn:hover, |
|
1583 | 1596 | } |
1584 | 1597 |
|
1585 | 1598 | #chat-input { |
1586 | | - flex: 1; |
1587 | 1599 | width: 100%; |
1588 | 1600 | max-height: 320px; |
1589 | 1601 | margin: 0; |
1590 | | - padding: 0; |
1591 | | - /* 保持无额外内边距,避免高度跳变 */ |
1592 | | - min-height: 22px; |
| 1602 | + padding: 2px 2px 0; |
| 1603 | + min-height: 18px; |
1593 | 1604 | border: none; |
1594 | 1605 | font-size: 14px; |
1595 | 1606 | font-family: inherit; |
|
1598 | 1609 | resize: none; |
1599 | 1610 | overflow-y: hidden; |
1600 | 1611 | line-height: 1.5; |
1601 | | - /* 固定行高,与容器高度配合 */ |
1602 | 1612 | } |
1603 | 1613 |
|
1604 | 1614 | #chat-input::placeholder { |
|
1614 | 1624 | box-shadow: 0 18px 44px rgba(15, 23, 42, 0.18); |
1615 | 1625 | } |
1616 | 1626 |
|
| 1627 | +.dark-mode .chat-input-wrapper { |
| 1628 | + border-color: rgba(148, 163, 184, 0.25); |
| 1629 | + background: var(--bg-color); |
| 1630 | + box-shadow: 0 18px 40px rgba(8, 47, 73, 0.4); |
| 1631 | +} |
| 1632 | + |
1617 | 1633 | .dark-mode .chat-input-wrapper:focus-within { |
1618 | 1634 | border-color: rgba(148, 163, 184, 0.25); |
1619 | 1635 | box-shadow: 0 20px 48px rgba(8, 47, 73, 0.58); |
1620 | 1636 | } |
1621 | 1637 |
|
1622 | 1638 | #chat-send-btn { |
1623 | | - position: absolute; |
1624 | | - right: 10px; |
1625 | | - top: 50%; |
1626 | | - transform: translateY(-50%); |
1627 | 1639 | width: 30px; |
1628 | 1640 | height: 30px; |
1629 | 1641 | border-radius: 50%; |
|
1636 | 1648 | cursor: pointer; |
1637 | 1649 | transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; |
1638 | 1650 | box-shadow: 0 12px 24px rgba(3, 102, 214, 0.28); |
| 1651 | + padding: 0; |
| 1652 | + line-height: 1; |
| 1653 | + vertical-align: middle; |
1639 | 1654 | } |
1640 | 1655 |
|
1641 | 1656 | #chat-send-btn:hover:not([disabled]) { |
1642 | 1657 | background: var(--accent-hover); |
1643 | 1658 | box-shadow: 0 16px 34px rgba(3, 102, 214, 0.3); |
1644 | | - transform: translateY(calc(-50% - 1px)); |
| 1659 | + transform: translateY(-1px); |
1645 | 1660 | } |
1646 | 1661 |
|
1647 | 1662 | #chat-send-btn:active:not([disabled]) { |
1648 | | - transform: translateY(-50%) scale(0.98); |
| 1663 | + transform: scale(0.95); |
1649 | 1664 | } |
1650 | 1665 |
|
1651 | 1666 | #chat-send-btn:focus, |
1652 | 1667 | #chat-send-btn:focus-visible { |
1653 | 1668 | outline: none; |
1654 | | - transform: translateY(-50%); |
| 1669 | + box-shadow: 0 18px 36px rgba(3, 102, 214, 0.36); |
1655 | 1670 | } |
1656 | 1671 |
|
1657 | 1672 | #chat-send-btn[disabled] { |
1658 | 1673 | opacity: 0.6; |
1659 | 1674 | cursor: not-allowed; |
1660 | 1675 | box-shadow: none; |
1661 | | - transform: translateY(-50%); |
| 1676 | + transform: none; |
1662 | 1677 | } |
1663 | 1678 |
|
1664 | 1679 | #chat-send-btn .icon-arrow { |
|
1673 | 1688 | pointer-events: none; |
1674 | 1689 | } |
1675 | 1690 |
|
| 1691 | +.chat-upload-btn svg, |
| 1692 | +#chat-send-btn svg { |
| 1693 | + display: block; |
| 1694 | +} |
| 1695 | + |
| 1696 | +.chat-upload-btn svg { |
| 1697 | + width: 21px; |
| 1698 | + height: 21px; |
| 1699 | + transform: translate(-3px, 4px); |
| 1700 | +} |
| 1701 | + |
1676 | 1702 | #chat-image-preview[hidden] { |
1677 | 1703 | display: none; |
1678 | 1704 | } |
|
0 commit comments