HTML和CSS个人笔记

个人笔记,记录遇到的一些问题

定位

下次再使用绝对定位的时候,比如子元素要定位在父元素上,就可以像下面一样

父元素写一个相对定位,可以多加一个display:block,子元素就相对于父元素写一个绝对定位,使用top和left,不要使用margin-left这些

z-index:2;这个是让一个元素置顶到另外一个元素的上面,数字越大越在上面

opacity:0.5;这个是图片的透明度,1是原图,0.5是半透明

<a href="" target="_blank" style="display:block;position:relative">
    <img src="" style="position:absolute; z-index:2;opacity:0.5;top:34%;left:40%">
</a>

文字显示在图片上

正确的做法应该是把图片作为一个背景图,在css里面写,如下

.testingplan {width:1210px;height:200px;background:url(/Themes/img/test_plan.jpg)}

ul的li元素的小圆点换成图片

依然是使用css控制li元素,写一个图片

.testingplan li {font-size:14px;list-style-image:url(/Themes/Style/img/test_dot.png)}

也可以不要小圆点

 list-style-type:none

关于Bootstrap的响应式

不要在container之外使用row

首先,我写了一个HTML如下

<div class="content content-memory">
    <div class="banner-panel">
        <div class="row">
            <div class="col-12">
                <img src="~/images/document_banner.jpg" />
            </div>
        </div>
    </div>
</div>

因为我想让图片是撑满全图的,但是我不知道class=row还有col-12这些东西,是Bootstrap里面才会有的东西

必须在class=container下面才会生效,而我没有写container,却用了Bootstrap的row和col,虽然不是错的,但是没意义

而且我的网页也被撑得出现了横向的滚动条,所以正确的做法是这样的

<div class="content content-memory">
    <div class="banner-panel">
        <img src="~/images/document_banner.jpg" />
    </div>
</div>

然后在css里面控制图片的width=100%即可

不要使用padding的时候固定高度

我有一个具有边框的div,里面有很多内容,我希望内容和边框有一个距离,但是我把div的高度固定了.....

这样就导致我的响应式变小的时候,内容被撑了出来,所以如果打算使用padding来搞一个内边距,那么不要固定高度

不要使用<hr

我看到下滑线就使用<hr,结果大佬说不要使用<hr 这个是很老很low的写法了,要使用 border-bottom

p标签不换行

我的div写好了是col-8,但是我内部的p元素的文字,在屏幕变小的时候,没有按照8这个块来换行,加上一个css即可

<div class="col-8 document-content">
    <p>aaaaaaaaaaaaaaaa &nbsp;&nbsp;<img src="~/images/file.png" /></p>
    <p>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</p>
</div>
word-wrap: break-word;

图片宽高超过尺寸图片重复

我的图片大小是18*9的,加入我把宽高设置的不是18,9就会出现重叠的状况,例如

只需要你的图片本身是多大的,你就设置多大就好了,宽18,高9

我连这个都不知道,我真的是菜鸡啊,前端菜鸡🐔​

图片旋转

直接上css

-webkit-transform: rotate(180deg);
transition: transform .5s;

接入YouTube视频

这个可以参考官方文档,说的很详细了:YouTube文档

我简单的介绍一下,就下面一行HTML代码

<iframe class="videodetail" type="text/html" src="@Model.Url?rel=0" frameborder="0"></iframe>

介绍一下参数rel=0,2018年9月份之前,rel参数是YouTube视频暂停的时候是否显示相关视频推荐,9月份之后YouTube官方更改了设定,rel参数就是显示的相关视频是否是同一频道的,那我肯定要加rel=0啊

不然我接入的视频一暂停出现的相关推荐都是竞争对手的视频,那我不是哭了

接入YouTube视频使用的路径,必须是这样的

https://www.youtube.com/embed/ifNysFzq2dA?rel=0

其中https://www.youtube.com/embed/这玩意是固定的,你如果不这样写,就会报错

就是不让你访问,所以,必须按照这样的格式,后面的rel知道了是相关视频推荐的,中间的这个是视频的id

打开一个youtube视频,上面v=后面的就是视频ID

图片默认图

有时候图片会不显示,出现错误,这个时候就需要设置一个默认图,这样就算图片发生问题了也可以展示一个默认图,排版也不会乱

<img src="@technology.Picture" alt="@technology.Title" onerror="this.onerror='';this.src='/Themes/img/home_news_img.png'">

文字太长显示...

标题有时候会太多字,导致排版全乱了,所以使用css控制一下最大宽度,超过就显示...

    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

响应式中布局尽量不要使用margin,padding,相对定位

我听说过不要使用margin和padding进行布局,所以我在布局的时候想使用相对绝对定位

/*父元素*/
position:reletive;

/*子元素*/
position:absolute;
left:20%;

但是这样也不行,有人说不能使用定位来进行布局,还是要使用栅格化

只能乖乖地使用col-12进行布局,多写几层就可以

<div class="container panel">
   <div class="row">
      <div class="col-md-2 col-5 parent-category">
         <img src="main.jpg" alt="Name">
         <p>Remark</p>
      </div>
      <div class="col-md-4 col-7">
         <ul class="row">
            <li class="col-2">
               <p>Name</p>
            </li>
            <li class="col-10">
               <p>Name</p>
            </li>
         </ul>
      </div>
   </div>
</div>

滚动条的使用与隐藏

我有一个ul下的li列表,太多数据了,可以设置一个滚动条,加一个css即可

ul
{
    height: 500px;
	overflow-y: scroll;
}

但是滚动条太宽了,可以隐藏滚动条的那个条,再加一个css就可以了

ul::-webkit-scrollbar {
    display: none;
}

细化滚动条

我的内容本来就很挤了,滚动条又太粗了,挤占空间,所以细化一下

.content-memory .panel ul {
    height: 200px;
    overflow-y: scroll;
}
.content-memory .panel ul::-webkit-scrollbar {
    width: 5px;
    height: 5px;
    background: #c7c3ca;
}
.content-memory .panel ul::-webkit-scrollbar-thumb {
    min-height: 2px;
    border-radius: 10px;
    background-color: #737371;
}

想要加上x轴的滚动就加上white-space: nowrap;

css控制鼠标移过元素显示小手

li:hover{
   cursor:pointer; 
}

浏览器模拟手机的时候font-size变小无效

自适应的网页,模拟手机查看的时候,发现字体还是大了,于是使用font-size设置的小一点,结果发现值为12px的时候,再往下就不起效果了,查了下,原因是谷歌认为小于12px的字体对于人眼观感不友好,所以12px以下都是一样的大小

解决方法有两种,可以使用rem这个单位,第二种是使用放缩

transform: scale(.8);

a标签不要下划线

.content ul > li > a:hover {
    color: #1db0b8;
    text-decoration: none;
}

图片img没有时给一个默认图片

<img src="@video.Picture" onerror="this.onerror='';this.src='/Themes/Style/img/video_no.jpg'" alt="video">

单选多选框,文字也能选择

单选的radio或者复选的CheckBox,点击文字要也能选择,这是对用户友好,必须这样做

<label>
    <input type="radio" name="radiobutton" value="123" />测试
</label>

垂直居中显示

    align-items: center;
    display: flex;

css一写东西就缩进

我在VS里面写css,一改就缩进,贼恶心,关了就可以了,在工具,选项,CSS高级,关闭分层缩进即可

文字加阴影

首页的文字一般加个阴影

text-shadow: 1px 2px 9px #000;

一些不是块元素的标签不能使用text-align

比如一个span元素,不是块元素,我想使用text-align: right;但是不生效,只有块元素才可以生效,所以要改成块元素

display: block;
text-align: right;

解决border的重叠问题

margin-top: -1px;
margin-right: -1px;
posted @ 2019-09-27 10:20  蜀云泉  阅读(354)  评论(0编辑  收藏  举报