CSS高级技巧——鼠标样式,轮廓,文本域防拖拽,vertical-align 垂直对齐,文字溢出问题

简介: CSS高级技巧——鼠标样式,轮廓,文本域防拖拽,vertical-align 垂直对齐,文字溢出问题

CSS高级技巧


CSS用户界面样式


所谓的界面样式, 就是更改一些用户操作样式, 比如 更改用户的鼠标样式, 表单轮廓等。但是比如滚动条的样式改动受到了很多浏览器的抵制,因此我们就放弃了。 防止表单域拖拽


鼠标样式cursor


设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标形状。


cursor :  default  小白(就是普通是鼠标指针) | pointer  小手  | move  移动  |  text  文本


鼠标放我身上查看效果哦:


<ul>
  <li style="cursor:default">我是小白</li>
  <li style="cursor:pointer">我是小手</li>
  <li style="cursor:move">我是移动</li>
  <li style="cursor:text">我是文本</li>
</ul>


尽量不要用hand 因为 火狐不支持 pointer ie6以上都支持的尽量用


案例


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
  li {
     cursor: pointer; 让我们的鼠标样式变成小手
    /*cursor: text;  让我们的鼠标样式变成选择*/
    /*cursor: default; /* 让我们的鼠标样式小白*/
  }
  p {
    width: 100px;
    height: 100px;
    background-color: pink;
    cursor: move;  /*鼠标变成十字架样子*/
  }
  </style>
</head>
<body>
  <ul>
    <li>文字效果</li>
    <li>文字效果</li>
    <li>文字效果</li>
    <li>文字效果</li>
    <li>文字效果</li>
    <li>文字效果</li>
  </ul>
  <p></p>
  <ul>
  <li style="cursor:default">我是小白</li>
  <li style="cursor:pointer">我是小手</li>
  <li style="cursor:move">我是移动</li>
  <li style="cursor:text">我是文本</li>
</ul>
</body>
</html>


轮廓 outline


是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。


 outline : outline-color ||outline-style || outline-width 


但是我们都不关心可以设置多少,我们平时都是去掉的。


最直接的写法是 : outline: 0; 或者 outline: none;


 <input  type="text"  style="outline: 0;"/>


案例



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
  input {
    outline: none;  /*取消轮廓线的做法*/
    border: 1px solid #ccc;
    width: 200px;
    height: 25px;
    background: url(images/s.png) no-repeat 180px center;
  }
  textarea {
    resize: none;  /*防止拖拽*/
    outline: none;  /*取消蓝色边框*/
  }
  </style>
</head>
<body>
  <input type="text">
  <textarea name="" id="" cols="30" rows="10"></textarea>
</body>
</html>


防止拖拽文本域resize


resize:none 这个单词可以防止 火狐 谷歌等浏览器随意的拖动 文本域。


右下角可以拖拽:


<textarea></textarea>


右下角不可以拖拽:


<textarea  style="resize: none;"></textarea>


vertical-align 垂直对齐


以前我们讲过让带有宽度的块级元素居中对齐,是margin: 0 auto;


以前我们还讲过让文字居中对齐,是 text-align: center;


但是我们从来没有讲过有垂直居中的属性, 我们的妈妈一直很担心我们的垂直居中怎么做。


vertical-align 垂直对齐, 这个看上去很美好的一个属性, 实际有着不可捉摸的脾气,否则我们也不会这么晚来讲解。



vertical-align : baseline |top |middle |bottom 


设置或检索对象内容的垂直对其方式。


vertical-align 不影响块级元素中的内容对齐,它只针对于 行内元素或者行内块元素,特别是行内块元素, 通常用来控制图片/表单与文字的对齐



图片、表单和文字对齐


所以我们知道,我们可以通过vertical-align 控制图片和文字的垂直关系了。 默认的图片会和文字基线对齐。


去除图片底侧空白缝隙


有个很重要特性你要记住: 图片或者表单等行内块元素,他的底线会和父级盒子的基线对齐。这样会造成一个问题,就是图片底侧会有一个空白缝隙。


解决的方法就是:


给img vertical-align:middle | top等等。 让图片不要和基线对齐。



给img 添加 display:block; 转换为块级元素就不会存在问题了。



对齐案例


不使用方法1 2,底部就会有小空白



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
  img {
    /*方法一*/
    vertical-align: middle;
    /*方法二*/
    display: block;
  }
  div {
    border: 2px solid red;
  }
  </style>
</head>
<body>
  <div>
    <img src="images/tudou.jpg" height="252" width="448" alt=""> 
    <!-- my name is 强哥 -->
  </div>
</body>
</html>


溢出的文字隐藏


word-break:自动换行


normal 使用浏览器默认的换行规则。


break-all 允许在单词内换行。


keep-all 只能在半角空格或连字符处换行。


主要处理英文单词


white-space


white-space设置或检索对象内文本显示方式。通常我们使用于强制一行显示内容


normal :  默认处理方式


nowrap :  强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对象才换行。


可以处理中文


text-overflow 文字溢出


text-overflow : clip | ellipsis


设置或检索是否使用一个省略标记(…)标示对象内文本的溢出


clip :  不显示省略标记(…),而是简单的裁切


ellipsis :  当对象内文本溢出时显示省略标记(…)


注意一定要首先强制一行内显示,再次和overflow属性 搭配使用


溢出案例


<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    div {
      width: 200px;
      height: 200px;
      border: 1px solid red;
      /*overflow: hidden;  溢出隐藏*/
      overflow: scroll;  /*scroll 滚动条 */
      overflow: auto;  /*auto 自动  */
    }
  </style>
</head>
<body>
  <div>
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
    溢出的文字溢出的文字溢出的文字溢出的文字溢出的文字
  </div>
</body>
</html>


案例:溢出文字变省略号



<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
  * {
    margin: 0;
    padding: 0;
  }
  body {
    padding: 30px;
  }
  li {
    list-style: none;
    width: 200px;
    height: 30px;
    border: 1px solid pink;
    white-space: nowrap;
    /*1.强制在同一行内显示所有文本,直到文本结束或者遭遇br标签对象才换行*/
    overflow: hidden;  /* 2. 超出的部分 隐藏*/
    text-overflow: ellipsis;  /* 3. 溢出的部分用省略号替代*/
    line-height: 30px;
  }
  </style>
</head>
<body>
  <ul>
    <li>文字内容文字内容文字内容文字内容文字内容</li>
  <li>文字内容文字内容文字内容文字内容文字内容</li>
  <li>文字内容文字内容文字内容文字内容文字内容</li>
  <li>文字内容文字内容文字内容文字内容文字内容</li>
  <li>文字内容文字内容文字内容文字内容文字内容</li>
  </ul>
</body>
</html>
相关文章
|
1天前
|
前端开发 数据安全/隐私保护
利用 HBuilderX 设置CSS样式会员注册页面
利用 HBuilderX 设置CSS样式会员注册页面
7 1
|
5天前
|
前端开发 容器
css 中可以让文字在垂直和水平方向上重叠的两个属性是什么?
css 中可以让文字在垂直和水平方向上重叠的两个属性是什么?
6 1
|
6天前
|
前端开发
css设置内嵌样式阴影
css设置内嵌样式阴影
10 0
|
6天前
|
前端开发
css样式实现一个滑动按钮
css样式实现一个滑动按钮
11 0
|
14天前
|
编解码 前端开发 UED
【专栏:HTML 与 CSS 移动端开发篇】CSS 媒体查询与移动端特定样式
【4月更文挑战第30天】CSS媒体查询在移动端开发中至关重要,它基于设备特性(如屏幕尺寸、分辨率、方向)应用特定样式,实现响应式设计。通过`@media`规则定义条件,如`(max-width: 600px)`,当屏幕宽度小于或等于600px时应用相应样式。常见条件包括屏幕宽度、高度、方向和分辨率。媒体查询可用于响应式布局、导航菜单优化、图片加载及字体调整。在实践中,需注意保持查询简洁,充分测试,渐进增强,并提前规划。掌握媒体查询能提升移动端用户体验,创造更优秀的网页设计。
|
14天前
|
开发框架 前端开发 搜索推荐
标题:【专栏:CSS进阶篇】CSS样式重置与框架:快速构建统一风格的网页
【4月更文挑战第30天】本文探讨了CSS样式重置和框架在确保网页跨浏览器一致性中的作用。样式重置通过消除默认样式差异实现一致外观,而CSS框架如Bootstrap提供预设样式和组件,加速开发并保证页面一致性。框架还有响应式设计和易于维护的优点,但也可能限制自定义和增加性能开销。选择使用哪种工具应根据项目需求、团队技能和设计复杂度来决定。开发者可结合使用两者以平衡灵活性和控制。
|
14天前
|
前端开发 UED
【专栏:CSS 基础篇】CSS 字体与文本样式:美化你的网页内容
【4月更文挑战第30天】网页设计中,字体和文本样式至关重要,影响视觉效果和用户体验。CSS允许设计师设置字体家族、大小、颜色、加粗、倾斜、行高和对齐方式等。高级特性包括引入外部字体和使用字体变体。响应式设计适应不同设备,确保良好阅读体验。实际案例和最佳实践强调易读性和一致性。掌握这些技巧能提升网页美感和用户交互,创造更多可能。
|
14天前
|
前端开发 UED
【专栏:CSS 基础篇】CSS 入门:给网页添加样式
【4月更文挑战第30天】CSS是网页设计的关键,用于控制网页样式和布局。它通过选择器(如元素、类和ID)来设定颜色、字体、对齐、背景等属性。CSS可内嵌、外部引用或行内设置。布局技巧包括浮动、定位和弹性盒子。响应式设计利用媒体查询适应不同设备。不断实践和学习CSS,能提升网页的吸引力和用户体验。一起探索CSS的魅力吧!
|
14天前
|
前端开发 JavaScript 安全
【亮剑】探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式
【4月更文挑战第30天】本文探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式。文章分为三部分:首先解释了样式传递的必要性,包括模块化、主题化和动态样式以及TypeScript集成。接着介绍了内联样式的基本用法和最佳实践,展示了一个使用内联样式自定义按钮颜色的例子。最后,讨论了使用CSS模块和TypeScript接口处理复杂样式的方案,强调了它们在组织和重用样式方面的优势。结合TypeScript,确保了样式的正确性和可维护性,为开发者提供了灵活的样式管理策略。
|
15天前
|
前端开发
CSS样式引用方式的区别
CSS样式引用方式的区别