美化你的console,为它添加样式

美化你的console,为它添加样式

需求:

输出带有样式的consloe,例如
在这里插入图片描述

实现:

console.log('%c version %c 1.0.0 ',
    'background:#35495e ; padding: 1px; border-radius: 3px 0 0 3px;  color: #fff',
    'background:#41b883 ; padding: 1px; border-radius: 0 3px 3px 0;  color: #fff')

总结:

  1. 给console添加样式需要用到%c占位符,
    每一个%c对应一个其后传入的样式,
    %c指令前的文本不会受到影响,但指令后的文本将会使用参数中声明的 CSS 样式。

  2. 控制台信息的默认行为与行内元素相似。为了应用 padding, margin 这类效果,你应当这样设置display: inline-block.。

  3. 可用属性如下:

  • background 与其全写版本。
  • border 与其全写版本。
  • border-radius
  • box-decoration-break
  • box-shadow
  • clear 和 float
  • color
  • cursor
  • display
  • font 与其全写版本。
  • line-height
  • margin
  • outline 与其全写版本。
  • padding
  • text-transform 这类 text-* 属性
  • white-space
  • word-spacing 和 word-break
  • writing-mode
在C++中设计一个美观的菜单界面,通常会利用控制台图形用户界面(Console GUI)库,如ncurses、Curses++或WxWidgets等,这些库提供了丰富的文本和图形处理功能。由于控制台的限制,美化主要依赖于颜色、样式和布局。以下是一个简化的步骤: 1. **包含必要的库**:根据所选库,添加相应的头文件,如`#include <ncurses.h>`或`#include <wxcurses.h>`。 2. **初始化窗口**:使用库提供的函数创建一个控制台窗口,设置其大小和属性。 3. **菜单结构**:设计菜单项,可以是列表、树形或选项卡形式,用字符串表示每个菜单项。 4. **菜单操作**:编写函数处理用户输入,如按键映射、菜单导航、选择项执行等。 5. **显示和样式**:使用控制台的颜色和样式来增强界面,例如使用颜色编码不同级别的菜单项,或者在高亮选中项上增加边框。 6. **响应事件**:处理用户交互,如按下回车键选择项,ESC键返回上级菜单等。 7. **清理**:在程序退出前,记得关闭窗口并释放资源。 以下是一个简单的例子,使用ncurses库创建一个基本菜单: ```cpp #include <ncurses.h> void menu(const char* title, const std::vector<std::string>& items) { initscr(); // 初始化ncurses curs_set(0); // 隐藏光标 // 创建窗口 WINDOW* win = newwin(LINES, COLS, 0, 0); keypad(win, TRUE); // 允许键盘特殊字符输入 box(win, 0, 0); // 设置窗口边界 // 显示标题 mvprintw(0, 2, "%s", title); refresh(); // 主循环 int selected = -1; while (true) { // 清除屏幕并更新窗口 clear(); wrefresh(win); // 显示菜单 for (int i = 0; i < items.size(); i++) { mvprintw(i + 1, 2, "%d. %s", i + 1, items[i].c_str()); if (selected == i) werase(win + i); // 高亮选中项 } // 获取用户输入 int ch = wgetch(win); switch (ch) { case 'q': // 退出菜单 delwin(win); endwin(); return; case KEY_UP: // 上箭头 case KEY_PPAGE: // 上一页 if (selected > 0) selected--; break; case KEY_DOWN: // 下箭头 case KEY_NPAGE: // 下一页 if (selected < items.size() - 1) selected++; break; case '\n': // 回车选择 if (selected != -1) handle_selection(items[selected]); // 处理选中的操作 break; } } } // ... 具体的选项处理函数 handle_selection() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值