查看: 553|回复: 7
打印 上一主题 下一主题

[求助] <div> 和 <span> 是完全 interchangable ?

[复制链接]

该用户从未签到

62

主题

392

回帖

1万

积分

状元

Rank: 9Rank: 9Rank: 9

积分
10872

灌水大神章小蜜蜂章笑傲江湖章

跳转到指定楼层
1
发表于 2017-7-13 18:42:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 asicsfree 于 2017-7-13 19:14 编辑

制做字典时,若以后人修改 css 方便为考量,全部用 <div> 或 <span>吗?

有时 <span> 是比较合理,但是似乎全部都可以在 css 用 display: 把 <div> 改为 <span>?
会有什么可能 <span> <div> 无法互相取代的吗?
  • TA的每日心情

    2019-9-20 08:37
  • 签到天数: 214 天

    [LV.7]常住居民III

    18

    主题

    664

    回帖

    2万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    25831

    灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

    2
    发表于 2017-7-13 18:54:28 | 只看该作者
    可以啊
    不过<div> 会有行空白 貌似

    该用户从未签到

    2121

    主题

    2961

    回帖

    6万

    积分

    翰林院修撰

    不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

    Rank: 12Rank: 12Rank: 12

    积分
    61056

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    3
    发表于 2017-7-14 20:51:42 | 只看该作者

    很有意思的问题。我简单做了点调研,不能完全回答楼主的问题,不过可以提供一些信息。

    最早 HTML 里是没有<span> 标签的,<div> 比 <span> 早得多。

    - <div> November 24, 1995 HTML 2.0 was published as IETF RFC 1866 https://tools.ietf.org/html/rfc1866
    - <span> January 1997: RFC 2070  https://tools.ietf.org/html/rfc2070

       <!-- <SPAN>             Generic inline container  -->
       <!-- <SPAN DIR=...>     New counterflow embedding -->
       <!-- <SPAN LANG="...">  Language of contents      -->


    https://www.stylusstudio.com/xsl ... 9904/post10740.html

    It's a bit unfair to pick on the SPAN element. It was introduced in
    RFC 2070:

       First, a generic container is needed to carry the LANG and DIR (see
       below) attributes in cases where no other element is appropriate; the
       SPAN element is introduced for that purpose.



  • TA的每日心情
    开心
    2023-2-24 18:44
  • 签到天数: 339 天

    [LV.8]以坛为家I

    12

    主题

    1566

    回帖

    58万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    582062

    灌水大神章小蜜蜂章笑傲江湖章推广专家QQ 章翰林院专用章管理组专用章

    4
    发表于 2017-7-15 12:26:07 | 只看该作者
    <div> 块级标签 会自成一行(前后都有换行 适合于段落) <span> 则不会
    这两个标签 在HTML 里的作用都是 本身没有任何意义 完全是为了方便 CSS 排版 而添加这些标签
    加上 class id 等属性 方便选取 div 应该用在自成一块的文本上 div 中包括数个 span
    但不能用 div span 本身来进行排版 HTML 标签只是赋予文本意义 排版要交给 CSS 来
    display: inline 的确可以让 div 变成 span 但是你一开始加标签的时候就应该考虑到了
    除非是 HTML 是别人加的 你又有特殊的排版需求 才这么干
    其他标签比如 <p> 不仅有 div 的效果 还赋予了文本“段落”这一涵义 所以叫做 HTML 超文本“标记”语言
    作用是标记 不是排版

    还有 <br /> 也类似 这是用于 文本内部强制换行用的 不要用来换行排版
    如果需要空白 用 CSS 的 margin-bottom CSS 功能本身很强大 不需要 HTML 来帮忙
    HTML 只是为了方便 CSS 选取的所以 div 和 span 很明显无法相互替代
  • TA的每日心情
    无聊
    2021-1-15 05:13
  • 签到天数: 271 天

    [LV.8]以坛为家I

    11

    主题

    471

    回帖

    6760

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    6760

    灌水大神章

    5
    发表于 2017-7-19 05:30:55 | 只看该作者
    blkserene 发表于 2017-7-15 12:26
    块级标签 会自成一行(前后都有换行 适合于段落)  则不会
    这两个标签 在HTML 里的作用都是 本身没有任何 ...

    一看就是高手啊...

    想请教个问题, 烦请不吝赐教:
    HTML:
    <span class="A">1234567890</span>
    <span class="B">0987654321</span>

    CSS:
    .A{display: block;}

    若在不改变 .A 的块属性的前提下, 有没啥办法让 B 的内容跟在 A 后面, 而不是单独另起一行, 也就是把 B 的内容也加入到 A 的块里面去...
  • TA的每日心情

    2019-9-20 08:37
  • 签到天数: 214 天

    [LV.7]常住居民III

    18

    主题

    664

    回帖

    2万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    25831

    灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

    6
    发表于 2017-7-19 08:40:58 | 只看该作者
    span + block ---> div .... --> inline-block 试试
  • TA的每日心情
    开心
    2023-2-24 18:44
  • 签到天数: 339 天

    [LV.8]以坛为家I

    12

    主题

    1566

    回帖

    58万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    582062

    灌水大神章小蜜蜂章笑傲江湖章推广专家QQ 章翰林院专用章管理组专用章

    7
    发表于 2017-7-19 14:47:46 | 只看该作者
    EarthWorm 发表于 2017-7-19 05:30
    一看就是高手啊...

    想请教个问题, 烦请不吝赐教:


    没有 这种情况本来 写HTML的时候就应该组织好
    写成<span class="a">1234567890<span class="b">0987654321</span></span>
    或者可以强行尝试用 浮动 但是浮动不是为了这种情况才存在的 而且本身用不好很容易出问题
  • TA的每日心情
    无聊
    2021-1-15 05:13
  • 签到天数: 271 天

    [LV.8]以坛为家I

    11

    主题

    471

    回帖

    6760

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    6760

    灌水大神章

    8
    发表于 2017-7-20 04:03:47 | 只看该作者
    多谢楼上两位的答复.

    我找到办法了, 只不过没有实用价值: 用负 margin 可以做到, 但问题是垂直方向倒是容易定位, 水平方向若 A 的字符串长度固定则问题不大, 若 A 的字符串长度不固定, 则水平方向无法定位, 所以没有实用价值.

    关于负 margin, 有兴趣的可以看看这篇文章, 很有意思: http://www.hicss.net/i-know-you-do-not-know-the-negative-margin/